<SEC-DOCUMENT>0001437749-24-014177.txt : 20240501
<SEC-HEADER>0001437749-24-014177.hdr.sgml : 20240501
<ACCEPTANCE-DATETIME>20240501162758
ACCESSION NUMBER:		0001437749-24-014177
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		16
CONFORMED PERIOD OF REPORT:	20240501
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20240501
DATE AS OF CHANGE:		20240501

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			NORTHWEST PIPE CO
		CENTRAL INDEX KEY:			0001001385
		STANDARD INDUSTRIAL CLASSIFICATION:	STEEL PIPE & TUBES [3317]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				930557988
		STATE OF INCORPORATION:			OR
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-27140
		FILM NUMBER:		24903454

	BUSINESS ADDRESS:	
		STREET 1:		201 NE PARK PLAZA DRIVE
		STREET 2:		SUITE 100
		CITY:			VANCOUVER
		STATE:			WA
		ZIP:			98684
		BUSINESS PHONE:		3603976250

	MAIL ADDRESS:	
		STREET 1:		201 NE PARK PLAZA DRIVE
		STREET 2:		SUITE 100
		CITY:			VANCOUVER
		STATE:			WA
		ZIP:			98684
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>nwpx20240409c_8k.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:us-roles="http://fasb.org/us-roles/2020-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:rr="http://xbrl.sec.gov/rr/2018-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:nwpx="http://www.nwpx.com/20240501"><head>
	<title>nwpx20240409c_8k.htm</title>

	<!-- Generated by ThunderDome Portal - 5/1/2024 3:17:10 PM -->
<meta http-equiv="Content-Type" content="text/html"/></head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;"><div style="display: none">
<ix:header>
<ix:hidden>
<ix:nonNumeric contextRef="d20248K" name="dei:AmendmentFlag" id="ixv-276">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d20248K" name="dei:EntityCentralIndexKey" id="ixv-277">0001001385</ix:nonNumeric>

</ix:hidden>
<ix:references>
<link:schemaRef xlink:href="nwpx-20240501.xsd" xlink:type="simple"/>
</ix:references>
<ix:resources>
<xbrli:context id="d20248K">
<xbrli:entity>
<xbrli:identifier scheme="http://www.sec.gov/CIK">0001001385</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2024-05-01</xbrli:startDate>
<xbrli:endDate>2024-05-01</xbrli:endDate>
</xbrli:period>
</xbrli:context>



</ix:resources>
</ix:header>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>UNITED STATES</b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>SECURITIES AND EXCHANGE COMMISSION</b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Washington, D.C. 20549</b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>FORM <ix:nonNumeric contextRef="d20248K" name="dei:DocumentType" id="ixv-17"><b><b>8-K</b></b></ix:nonNumeric></b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>CURRENT REPORT</b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Pursuant to Section 13 OR 15(d) of The Securities Exchange Act of 1934</b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Date of Report (Date of earliest event reported): <ix:nonNumeric contextRef="d20248K" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" id="ixv-27"><b>May 1, 2024</b></ix:nonNumeric></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 18pt; font-variant: normal; text-align: center; margin: 0pt;"><ix:nonNumeric contextRef="d20248K" name="dei:EntityRegistrantName" id="ixv-31"><b>NORTHWEST PIPE COMPANY</b></ix:nonNumeric></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Exact name of registrant as specified in its charter)</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td style="vertical-align:top;width:15.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20248K" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="ixv-40"><b>O</b><b>regon</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20248K" name="dei:EntityFileNumber" id="ixv-45"><b>0-27140</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align:top;width:15.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20248K" name="dei:EntityTaxIdentificationNumber" id="ixv-49"><b>93-0557988</b></ix:nonNumeric></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:15.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(State or other jurisdiction&#160;of incorporation)</div>
			</td>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Commission File Number)</div>
			</td>
			<td style="vertical-align:top;width:15.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(IRS Employer Identification No.)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><ix:nonNumeric contextRef="d20248K" name="dei:EntityAddressAddressLine1" id="ixv-60"><b>201 NE Park Plaza Drive</b><b>, <b>Suite&#160;100</b></b></ix:nonNumeric></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><ix:nonNumeric contextRef="d20248K" name="dei:EntityAddressCityOrTown" id="ixv-65"><b>Vancouver</b></ix:nonNumeric><b>, <ix:nonNumeric contextRef="d20248K" name="dei:EntityAddressStateOrProvince" id="ixv-68"><b><b>WA</b></b></ix:nonNumeric> <ix:nonNumeric contextRef="d20248K" name="dei:EntityAddressPostalZipCode" id="ixv-71"><b><b>98684</b></b></ix:nonNumeric></b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Address of principal executive offices and Zip Code)</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Registrant&#8217;s telephone number, including area code: <ix:nonNumeric contextRef="d20248K" name="dei:CityAreaCode" id="ixv-77"><b>360</b></ix:nonNumeric><b>-<ix:nonNumeric contextRef="d20248K" name="dei:LocalPhoneNumber" id="ixv-80"><b><b>397-6250</b></b></ix:nonNumeric></b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Check the appropriate box below if the Form&#160;8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20248K" format="ixt-sec:boolballotbox" name="dei:WrittenCommunications" id="ixv-287">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="width: auto;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Written communications pursuant to Rule&#160;425 under the Securities Act (17&#160;CFR&#160;230.425)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20248K" format="ixt-sec:boolballotbox" name="dei:SolicitingMaterial" id="ixv-288">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="width: auto;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Soliciting material pursuant to Rule&#160;14a-12 under the Exchange Act (17&#160;CFR&#160;240.14a-12)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20248K" format="ixt-sec:boolballotbox" name="dei:PreCommencementTenderOffer" id="ixv-289">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="width: auto;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Pre-commencement communications pursuant to Rule&#160;14d-2(b) under the Exchange Act (17&#160;CFR&#160;240.14d-2(b))</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20248K" format="ixt-sec:boolballotbox" name="dei:PreCommencementIssuerTenderOffer" id="ixv-290">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="width: auto;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Pre-commencement communications pursuant to Rule&#160;13e-4(c) under the Exchange Act (17&#160;CFR&#160;240.13e-4(c))</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Securities registered pursuant to Section&#160;12(b) of the Act:</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: bottom; width: 34%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Title of each class</div>
			</td>
			<td style="vertical-align: bottom; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 26%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Trading Symbol(s)</div>
			</td>
			<td style="vertical-align: bottom; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 34%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Name of each exchange on which&#160;registered</div>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 34%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><ix:nonNumeric contextRef="d20248K" name="dei:Security12bTitle" id="ixv-135"><b>Common Stock</b></ix:nonNumeric>, par value $0.01 per share</b></div>
			</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: top; width: 26%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt 0pt 0pt 8pt;"><ix:nonNumeric contextRef="d20248K" name="dei:TradingSymbol" id="ixv-140"><b>NWPX</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: top; width: 34%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt 0pt 0pt 8pt;"><b><ix:nonNumeric contextRef="d20248K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-146"><b>Nasdaq</b></ix:nonNumeric> Global Select Market</b></div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

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

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 36pt;">Emerging growth company&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="d20248K" format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" id="ixv-291">&#9744;</ix:nonNumeric></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">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&#160;13(a) of the Exchange Act. &#160;&#160;&#160;&#160;&#9744;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%">&#160;</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">&#160;</div>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align:top;width:3.7%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 2.02.</div>
			</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">RESULTS OF OPERATIONS AND FINANCIAL CONDITION</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">On May&#160;1, 2024, Northwest Pipe Company (the &#8220;Company&#8221;) issued a press release announcing its financial results for the quarter ended March&#160;31, 2024 and its current outlook. The press release contains forward-looking statements regarding the Company, and includes cautionary statements identifying important factors that could cause actual results to differ materially from those anticipated. The press release issued May&#160;1, 2024 is furnished herewith as Exhibit No.&#160;99.1 to this Report, and shall not be deemed filed for purposes of Section&#160;18 of the Exchange Act.</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 9.01.</div>
			</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">FINANCIAL STATEMENTS AND EXHIBITS</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;">(d)</div>
			</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Exhibits</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_651604.htm" style="-sec-extract:exhibit;">99.1&#160;Press Release issued by Northwest Pipe Company dated May&#160;1, 2024</a></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">104 Cover Page Interactive Data File (embedded within the Inline XBRL document)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%">&#160;</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">&#160;</div>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>SIGNATURE</b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">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 on May&#160;1, 2024.</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 46%;">&#160;</td>
			<td colspan="2" style="vertical-align: top; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>NORTHWEST PIPE COMPANY</b></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#160;</td>
			<td colspan="2" style="vertical-align: top; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">(Registrant)</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: middle; width: 46%;">&#160;</td>
			<td style="vertical-align: middle; width: 4%;">&#160;</td>
			<td style="vertical-align: middle; width: 50%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: bottom; width: 46%;">&#160;</td>
			<td style="vertical-align: bottom; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">By</div>
			</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 50%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">/s/ Aaron Wilkins</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#160;</td>
			<td style="vertical-align: top; width: 4%;">&#160;</td>
			<td style="vertical-align: bottom; width: 50%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Aaron Wilkins,</b></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#160;</td>
			<td style="vertical-align: top; width: 4%;">&#160;</td>
			<td style="vertical-align: bottom; width: 50%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Senior</b>&#160;<b>Vice</b>&#160;<b>President, Chief</b>&#160;<b>Financial</b>&#160;<b>Officer, and&#160;Corporate</b>&#160;<b>Secretary</b></div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&#160;</div>
</div>
</div>
</div>


</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>ex_651604.htm
<DESCRIPTION>EXHIBIT 99.1
<TEXT>
<html><head>
	<title>ex_651604.htm</title>

	<!-- Generated by ThunderDome Portal - 5/1/2024 3:12:58 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="margin: 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt"><b>Exhibit 99.1</b></font></p>

<p style="margin: 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<p style="margin: 0pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font><img alt="image01.jpg" src="image01.jpg"></p>

<p style="margin: 0pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Northwest Pipe Company Announces <a data-tblloc="44x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766103606">First</a> Quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766121022">2024</a> Financial Results</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif;"><i>Net sales of <a data-tblloc="2x1" data-tblname="531965" data-tblv="31" id="led531965F20243101712767677959">$113.2</a>&nbsp;million <a data-tblloc="2x5" data-tblname="531965" data-tblv="31" id="led531965F20243101712767694435">increased</a> <a data-tblloc="2x4" data-tblname="531965" data-tblv="31" id="led531965F20243101712767704514">14.2%</a> year-over-year, a record for first quarter revenues</i></td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif;"><i>Gross profit of <a data-tblloc="3x1" data-tblname="531965" data-tblv="31" id="led531965F20243101712767740156">$20.1</a>&nbsp;million <a data-tblloc="3x5" data-tblname="531965" data-tblv="31" id="led531965F20243101712767748462">increased</a> <a data-tblloc="3x4" data-tblname="531965" data-tblv="31" id="led531965F20243101712767760857">21.5%</a> year-over-year, the highest first quarter gross profit in 11 years</i></td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif;"><i>Net income of $<a data-tblloc="16x2" data-tblname="531966" data-tblv="31" id="led531966F20243101712767846676">0.52</a> per diluted share</i></td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8226;</p>
			</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Backlog</i><sup style="vertical-align:top;line-height:120%;">1</sup><i> of <a data-tblloc="6x6" data-tblname="532000" data-tblv="31" id="led532000F20243101712767888362">$255</a>&nbsp;million; backlog including confirmed orders</i><sup style="vertical-align:top;line-height:120%;">2</sup><i> of <a data-tblloc="7x6" data-tblname="532000" data-tblv="31" id="led532000F20243101712767896372">$337</a>&nbsp;million for the Engineered Steel Pressure Pipe segment (</i>&#8220;<i>SPP</i>&#8221;<i>) </i></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif;"><i>Order book<sup style="vertical-align:top;line-height:120%;">3</sup> of <a data-tblloc="9x6" data-tblname="532000" data-tblv="31" id="led532000F20243101712767935902">$52</a>&nbsp;million for the Precast Infrastructure and Engineered Systems segment (&#8220;Precast&#8221;)</i></td>
		</tr>
		<tr>
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif;"><i>Repurchased <a data-tblloc="3x1" data-tblname="532972" data-tblv="31" id="led532972F20243181713448492139">$3.7</a>&nbsp;million of common stock during the quarter</i></td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>VANCOUVER, Washington</b>&#8212;May&nbsp;1, 2024&#8212;Northwest Pipe Company (NASDAQ: NWPX) (the &#8220;Company&#8221;), a leading manufacturer of water-related infrastructure products, today announced its financial results for the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter ended <a data-tblloc="5x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393699871">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393709287">31, 2024</a>. The Company will broadcast its <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766121022">2024</a> earnings conference call on Thursday, <a data-tblloc="21x1" data-tblname="531962" data-tblv="31" id="led531962F20243101712769947978">May 2, 2024</a> at 7:00&nbsp;a.m.&nbsp;PT.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Management Commentary</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#8220;Despite the strength of the incoming order book, our non-residential Precast business shipments were weak in the first quarter resulting in depressed margins. The residential portion of our Precast business continues to maintain a strong order book, production levels, and shipments. However, as we expected, the margins have come under some modest pressure due to regional differences in market demand. Following a slow first quarter, which is generally the case in our Precast segment, we are expecting fairly strong improvement in both revenue and margins for the second quarter and a strong remainder of the year,&#8221; said Scott Montross, President and Chief Executive Officer of Northwest Pipe Company. &#8220;During the first quarter, the SPP business had very strong bidding activity and production levels. We generated revenue of $80&nbsp;million with margins that improved approximately 280&nbsp;basis points over the previous quarter. Our backlog including confirmed orders grew to $337&nbsp;million due to the strength in bidding activity. We are anticipating a second quarter that is in line with the first and continued strength throughout 2024.&#8221;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><a data-tblloc="44x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766103606">First</a> Quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766121022">2024</a> Financial Results</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Consolidated</i></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; text-align: justify; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#8226;</p>
			</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Net sales <a data-tblloc="2x5" data-tblname="531965" data-tblv="31" id="led531965F20243101712768492189">increased</a> <a data-tblloc="2x4" data-tblname="531965" data-tblv="31" id="led531965F20243101712768502241">14.2%</a> to <a data-tblloc="2x1" data-tblname="531965" data-tblv="31" id="led531965F20243101712768509176">$113.2</a>&nbsp;million from <a data-tblloc="2x2" data-tblname="531965" data-tblv="31" id="led531965F20243101712768517521">$99.1</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a>.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; text-align: justify; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Gross profit <a data-tblloc="3x5" data-tblname="531965" data-tblv="31" id="led531965F20243101712768565876">increased</a> <a data-tblloc="3x4" data-tblname="531965" data-tblv="31" id="led531965F20243101712768573759">21.5%</a> to <a data-tblloc="3x1" data-tblname="531965" data-tblv="31" id="led531965F20243101712768580624">$20.1</a>&nbsp;million, or <a data-tblloc="3x1" data-tblname="532979" data-tblv="31" id="led532979F20243101712769145558">17.8%</a> of net sales, from <a data-tblloc="3x2" data-tblname="531965" data-tblv="31" id="led531965F20243101712768595094">$16.6</a>&nbsp;million, or <a data-tblloc="3x2" data-tblname="532979" data-tblv="31" id="led532979F20243101712769155626">16.7%</a> of net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a>.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; text-align: justify; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Net income was <a data-tblloc="7x1" data-tblname="531965" data-tblv="31" id="led531965F20243101712768775971">$5.2</a>&nbsp;million, or $<a data-tblloc="16x2" data-tblname="531966" data-tblv="31" id="led531966F20243101712768805954">0.52</a> per diluted share, compared to <a data-tblloc="7x2" data-tblname="531965" data-tblv="31" id="led531965F20243101712768787675">$2.4</a>&nbsp;million, or $<a data-tblloc="16x5" data-tblname="531966" data-tblv="31" id="led531966F20243101712768816863">0.23</a> per diluted share, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a>.</td>
		</tr>

</table>

<div contenteditable="false" data-applyto="p" data-auto-pgnum="start" data-displaynum="1" data-fontname="Times New Roman" data-fontsize="10pt" data-numstyle="a" data-prefix="" data-startnum="1" data-suffix="" data-textalign="right">&nbsp;</div>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="1" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">1</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><i>Engineered Steel Pressure Pipe Segment (SPP)</i></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8226;</p>
			</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">SPP net sales <a data-tblloc="3x5" data-tblname="532978" data-tblv="31" id="led532978F20243101712768924718">increased</a> <a data-tblloc="3x4" data-tblname="532978" data-tblv="31" id="led532978F20243101712768935918">25.9%</a> to <a data-tblloc="3x1" data-tblname="532978" data-tblv="31" id="led532978F20243101712768944334">$80.0</a>&nbsp;million from <a data-tblloc="3x2" data-tblname="532978" data-tblv="31" id="led532978F20243101712768951076">$63.5</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a> driven by a <a data-tblloc="5x4" data-tblname="532978" data-tblv="31" id="led532978F20243101712769001813">54%</a> <a data-tblloc="5x5" data-tblname="532978" data-tblv="31" id="led532978F20243101712769010856">increase</a> in tons produced resulting primarily from changes in project timing, partially offset by an <a data-tblloc="6x4" data-tblname="532978" data-tblv="31" id="led532978F20243101712769021956">18%</a> <a data-tblloc="6x5" data-tblname="532978" data-tblv="31" id="led532978F20243101712769028446">decrease</a> in selling price per ton primarily due to product mix.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">SPP gross profit <a data-tblloc="4x5" data-tblname="532978" data-tblv="31" id="led532978F20243101712769060458">increased</a> <a data-tblloc="4x4" data-tblname="532978" data-tblv="31" id="led532978F20243101712769068189">83.0%</a> to <a data-tblloc="4x1" data-tblname="532978" data-tblv="31" id="led532978F20243101712769077810">$14.2</a>&nbsp;million, or <a data-tblloc="9x1" data-tblname="532979" data-tblv="31" id="led532979F20243101712769209338">17.8%</a> of SPP net sales, from <a data-tblloc="4x2" data-tblname="532978" data-tblv="31" id="led532978F20243101712769102893">$7.8</a>&nbsp;million, or <a data-tblloc="9x2" data-tblname="532979" data-tblv="31" id="led532979F20243101712769221413">12.2%</a> of SPP net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a> primarily due to increased volume and changes in product mix.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">SPP backlog was <a data-tblloc="6x6" data-tblname="532000" data-tblv="31" id="led532000F20243101712769255436">$255</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393837728">31, 2024</a> compared to <a data-tblloc="6x7" data-tblname="532000" data-tblv="31" id="led532000F20243101712769285203">$273</a>&nbsp;million as of <a data-tblloc="9x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393864463">December</a>&nbsp;<a data-tblloc="10x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393871960">31, 2023</a> and <a data-tblloc="6x8" data-tblname="532000" data-tblv="31" id="led532000F20243101712769302466">$297</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393901272">31, 2023</a>. Backlog including confirmed orders was <a data-tblloc="7x6" data-tblname="532000" data-tblv="31" id="led532000F20243101712769322341">$337</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393837728">31, 2024</a> compared to <a data-tblloc="7x7" data-tblname="532000" data-tblv="31" id="led532000F20243101712769330241">$319</a>&nbsp;million as of <a data-tblloc="9x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393864463">December</a>&nbsp;<a data-tblloc="10x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393871960">31, 2023</a> and <a data-tblloc="7x8" data-tblname="532000" data-tblv="31" id="led532000F20243101712769339909">$370</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393901272">31, 2023</a>.</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Precast Infrastructure and Engineered Systems Segment (Precast)</i></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8226;</p>
			</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">
			<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Precast net sales <a data-tblloc="11x5" data-tblname="532978" data-tblv="31" id="led532978F20243101712770077353">decreased</a> <a data-tblloc="11x4" data-tblname="532978" data-tblv="31" id="led532978F20243101712770086064">6.6%</a> to <a data-tblloc="11x1" data-tblname="532978" data-tblv="31" id="led532978F20243101712770094335">$33.2</a>&nbsp;million from <a data-tblloc="11x2" data-tblname="532978" data-tblv="31" id="led532978F20243101712770103957">$35.6</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a>, despite a <a data-tblloc="13x4" data-tblname="532978" data-tblv="31" id="led532978F20243101712770149003">23%</a> <a data-tblloc="13x5" data-tblname="532978" data-tblv="31" id="led532978F20243101712770156889">increase</a> in volume shipped, due to a <a data-tblloc="14x4" data-tblname="532978" data-tblv="31" id="led532978F20243101712770131955">24%</a> <a data-tblloc="14x5" data-tblname="532978" data-tblv="31" id="led532978F20243101712770138881">decrease</a> in selling prices driven by changes in product mix.</p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Precast gross profit <a data-tblloc="12x5" data-tblname="532978" data-tblv="31" id="led532978F20243101712770175603">decreased</a> <a data-tblloc="12x4" data-tblname="532978" data-tblv="31" id="led532978F20243101712770187361">33.0%</a> to <a data-tblloc="12x1" data-tblname="532978" data-tblv="31" id="led532978F20243101712770196269">$5.9</a>&nbsp;million, or <a data-tblloc="13x1" data-tblname="532979" data-tblv="31" id="led532979F20243101712770237984">17.7%</a> of Precast net sales, from <a data-tblloc="12x2" data-tblname="532978" data-tblv="31" id="led532978F20243101712770205602">$8.8</a>&nbsp;million, or <a data-tblloc="13x2" data-tblname="532979" data-tblv="31" id="led532979F20243101712770248381">24.7%</a> of Precast net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a> primarily due to changes in product mix.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Precast order book was <a data-tblloc="9x6" data-tblname="532000" data-tblv="31" id="led532000F20243101712770284782">$52</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393837728">31, 2024</a> compared to <a data-tblloc="9x7" data-tblname="532000" data-tblv="31" id="led532000F20243101712770291817">$46</a>&nbsp;million as of <a data-tblloc="9x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393864463">December</a>&nbsp;<a data-tblloc="10x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393871960">31, 2023</a> and <a data-tblloc="9x8" data-tblname="532000" data-tblv="31" id="led532000F20243101712770300974">$58</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393901272">31, 2023</a>.</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Balance Sheet and Cash Flow</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8226;</p>
			</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">As of <a data-tblloc="5x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713393837728">31, 2024</a>, the Company had <a data-tblloc="7x6" data-tblname="531970" data-tblv="31" id="led531970F20243101712770373266">$89.9</a>&nbsp;million of outstanding revolving loan borrowings and additional borrowing capacity of approximately <a data-tblloc="7x6" data-tblname="531985" data-tblv="31" id="led531985F20243101712770403650">$34</a>&nbsp;million under the revolving credit facility.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;"><a data-tblloc="2x0" data-tblname="531976" data-tblv="31" id="led531976F20243101712770635661">Net cash provided by (used in) operating activities</a> was <a data-tblloc="2x1" data-tblname="531976" data-tblv="31" id="led531976F20243101712771872824">($26.1)</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766121022">2024</a> compared to <a data-tblloc="2x2" data-tblname="531976" data-tblv="31" id="led531976F20243101712771880659">$26.3</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a> primarily due to a <a data-tblloc="8x3" data-tblname="531976" data-tblv="31" id="led531976F20243101712772449520">$54.8</a>&nbsp;million <a data-tblloc="8x5" data-tblname="531976" data-tblv="31" id="led531976F20243101712772473196">decrease</a> in cash provided by changes in working capital partially offset by a <a data-tblloc="7x3" data-tblname="531976" data-tblv="31" id="led531976F20243101712772549315">$2.4</a>&nbsp;million <a data-tblloc="7x5" data-tblname="531976" data-tblv="31" id="led531976F20243101712772556145">increase</a> in cash provided by net income adjusted for non-cash items.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Capital expenditures were <a data-tblloc="12x1" data-tblname="531976" data-tblv="31" id="led531976F20243101712772573332">$4.6</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766121022">2024</a> compared to <a data-tblloc="12x2" data-tblname="531976" data-tblv="31" id="led531976F20243101712772581054">$4.4</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712768460053">2023</a>.</td>
		</tr>
		<tr>
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">The Company repurchased approximately <a data-tblloc="2x1" data-tblname="532972" data-tblv="31" id="led532972F20243101712772770423">127,000</a> shares of its common stock at an average price of $<a data-tblloc="5x4" data-tblname="532980" data-tblv="31" id="led532980F20243101712772811486">29.39</a>, for a total of <a data-tblloc="3x1" data-tblname="532972" data-tblv="31" id="led532972F20243101712772837735">$3.7</a>&nbsp;million during the <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766121022">2024</a>. Since the authorization of the share repurchase program in November 2023, the Company repurchased approximately <a data-tblloc="6x5" data-tblname="532972" data-tblv="31" id="led532972F20243101712773456216">171,000</a> shares of its common stock at an average price of <a data-tblloc="8x5" data-tblname="532972" data-tblv="31" id="led532972F20243101712773469283">$29.57</a>, for a total of <a data-tblloc="7x5" data-tblname="532972" data-tblv="31" id="led532972F20243101712773477918">$5.1</a>&nbsp;million as of April&nbsp;30, 2024.</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<hr style="text-align: left; height: 1px; color: #000000; background-color: #000000; width: 10%; border: none; margin: 3pt auto 3pt 0">
<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;">1</sup> Northwest Pipe Company defines &#8220;backlog&#8221; as the balance of remaining performance obligations under signed contracts for Engineered Steel Pressure Pipe products for which revenue is recognized over time.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;">2</sup> Northwest Pipe Company defines &#8220;confirmed orders&#8221; as Engineered Steel Pressure Pipe projects for which the Company has been notified that it is the successful bidder, but a binding agreement has not been executed.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;">3</sup> Northwest Pipe Company defines &#8220;order book&#8221; as unfulfilled orders outstanding at the measurement date for its Precast Infrastructure and Engineered Systems segment.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="2" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">2</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Conference Call Details</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">A conference call and simultaneous webcast to discuss the Company&#8217;s <a data-tblloc="45x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766348758">first</a> quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="31" id="led531961F20243101712766121022">2024</a> financial results will be held on Thursday, <a data-tblloc="21x1" data-tblname="531962" data-tblv="31" id="led531962F20243101712769947978">May 2, 2024</a>, at 7:00&nbsp;a.m. Pacific Time. The call will be broadcast live on the Investor Relations section of the Company&#8217;s website at <u>investor.nwpipe.com</u> and will be archived online upon completion of the conference call. For those unable to listen to the live call, a replay will be available approximately three hours after the event and will remain available until Thursday, May&nbsp;16, 2024, by dialing 1&#8209;844&#8209;512&#8209;2921 in the U.S. or 1&#8209;412&#8209;317&#8209;6671 internationally and entering the replay access code: 13745284.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>About Northwest Pipe Company</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Founded in 1966, Northwest Pipe Company is a leading manufacturer of water-related infrastructure products. In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, the Company manufactures stormwater and wastewater technology products; high-quality precast and reinforced concrete products; pump lift stations; steel casing pipe, bar-wrapped concrete cylinder pipe, and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, Northwest Pipe Company provides solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok&#174;, and Northwest Pipe Company lines. The Company&#8217;s diverse team is committed to quality and innovation while demonstrating the Company&#8217;s core values of accountability, commitment, and teamwork. The Company is headquartered in Vancouver, Washington, and has 13&nbsp;manufacturing facilities across North America. Please visit <u>www.nwpipe.com</u> for more information.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Forward-Looking Statements</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Statements in this press release by Scott Montross contain &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995 and Section&nbsp;21E of the Securities Exchange Act of 1934, as amended, that are based on current expectations, estimates, and projections about the Company&#8217;s business, management&#8217;s beliefs, and assumptions made by management. These statements are not guarantees of future performance and involve risks and uncertainties that are difficult to predict. Therefore, actual outcomes and results may differ materially from what is expressed or forecasted in such forward-looking statements as a result of a variety of important factors. While it is impossible to identify all such factors, those that could cause actual results to differ materially from those estimated by the Company include changes in demand and market prices for its products, product mix, bidding activity and order modifications or cancelations, timing of customer orders and deliveries, production schedules, price and availability of raw materials, excess or shortage of production capacity, international trade policy and regulations, changes in tariffs and duties imposed on imports and exports and related impacts on the Company, economic uncertainty and associated trends in macroeconomic conditions, including potential recession, inflation, and the state of the housing market, interest rate risk and changes in market interest rates, including the impact on the Company&#8217;s customers and related demand for its products, the Company&#8217;s ability to identify and complete internal initiatives and/or acquisitions in order to grow its business, the Company&#8217;s ability to effectively integrate future acquisitions into its business and operations and achieve significant administrative and operational cost synergies and accretion to financial results, effects of security breaches, computer viruses, and cybersecurity incidents, timing and amount of share repurchases, impacts of U.S. tax reform legislation on the Company&#8217;s results of operations, adequacy of the Company&#8217;s insurance coverage, supply chain challenges, labor shortages, ongoing military conflicts in areas such as Ukraine and Israel, and related consequences, operating problems at the Company&#8217;s manufacturing operations including fires, explosions, inclement weather, and floods and other natural disasters, material weaknesses in the Company&#8217;s internal control over financial reporting and its ability to remediate such weaknesses, impacts of pandemics, epidemics, or other public health emergencies, and other risks discussed in the Company&#8217;s Annual Report on Form&nbsp;10&#8209;K for the year ended December&nbsp;31, <a data-tblloc="3x1" data-tblname="531962" data-tblv="31" id="led531962F20243171713394220281">2023</a> and from time to time in its other Securities and Exchange Commission filings and reports. Such forward-looking statements speak only as of the date on which they are made, and the Company does not undertake any obligation to update any forward-looking statement to reflect events or circumstances after the date of this release. If the Company does update or correct one or more forward-looking statements, investors and others should not conclude that it will make additional updates or corrections with respect thereto or with respect to other forward-looking statements.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="3" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">3</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Non-GAAP Financial Measures</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company is presenting backlog including confirmed orders. This non-GAAP financial measure is provided to better enable investors and others to assess the Company&#8217;s ongoing operating results and compare them with its competitors. This should be considered a supplement to, and not a substitute for, or superior to, financial measures calculated in accordance with GAAP.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;">For more information, visit <u>www.nwpipe.com</u>.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Contact:</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Aaron Wilkins</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Chief Financial Officer</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Northwest Pipe Company</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><u>investors@nwpipe.com</u></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Or</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addo Investor Relations</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><u>nwpx@addo.com</u></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">###</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" data-number="4" data-prefix="" data-suffix="" style="text-align: right; width: 100%; font-size: 10pt; font-family: Times New Roman;">4</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">&nbsp;</div>
</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 100%;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES</b></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</b></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(In thousands, except per share amounts)</p>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" data-tbledgar="true" data-tblname="532971" data-tblv="31" style="width: 100%; font-size: 10pt; font-family: &quot;Calibri&quot;, Arial, sans-serif; text-indent: 0px;">

		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="6" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 19%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three Months Ended March 31,</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td id=".trail.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">80,007</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">63,546</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">33,208</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35,551</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total net sales</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">113,215</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">99,097</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of sales:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">65,765</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">55,764</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">27,316</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26,756</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total cost of sales</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93,081</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">82,520</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">14,242</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">7,782</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,892</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,795</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total gross profit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">20,134</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,577</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Selling, general, and administrative expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,444</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,866</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Operating income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">8,690</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">4,711</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income (expense)</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">7</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(29</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,474</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,369</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Income before income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">7,223</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">3,313</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,985</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">951</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Net income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,238</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,362</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income per share:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.53</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.24</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.52</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.23</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares used in per share calculations:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,916</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,940</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,045</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,087</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="5" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">5</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Calibri, Arial, sans-serif; text-indent: 0px;">

		<tr style="vertical-align: bottom; font-family: Calibri, Arial, sans-serif;">
			<td colspan="8" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: Calibri, Arial, sans-serif;">
			<td colspan="8" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>CONDENSED CONSOLIDATED BALANCE SHEETS</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: Calibri, Arial, sans-serif;">
			<td colspan="8" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;">(Unaudited)</p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: Calibri, Arial, sans-serif;">
			<td colspan="8" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;">(In thousands)</p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" data-tbledgar="true" data-tblname="532974" data-tblv="31" style="width: 100%; font-size: 10pt; font-family: &quot;Calibri&quot;, Arial, sans-serif; text-indent: 0px;">

		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>March 31, 2024</b></p>
			</td>
			<td id=".trail.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31, 2023</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Assets</b></p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current assets:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Cash and cash equivalents</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">4,262</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">4,068</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Trade and other receivables, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">52,396</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">47,645</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Contract assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">135,715</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">120,516</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Inventories</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">96,481</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">91,229</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Prepaid expenses and other</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,840</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,026</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total current assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">296,694</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">272,484</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property and equipment, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">145,323</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">143,955</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease right-of-use assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">86,978</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">88,155</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Goodwill</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">55,504</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">55,504</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intangible assets, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">30,066</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">31,074</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,735</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,709</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">621,300</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">597,881</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Liabilities and Stockholders&#8217; Equity</b></p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current liabilities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Current debt</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">10,756</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">10,756</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Accounts payable</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">26,365</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">31,142</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Accrued liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">22,489</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">27,913</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Contract liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">18,596</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">21,450</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Current portion of operating lease liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,067</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">4,933</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total current liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">83,273</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">96,194</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Borrowings on line of credit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">89,863</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">54,485</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">84,211</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">85,283</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">10,863</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">10,942</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other long-term liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,476</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">10,617</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">278,686</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">257,521</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Stockholders&#8217; equity</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">342,614</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">340,360</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total liabilities and stockholders&#8217; equity</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">621,300</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">597,881</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" data-number="6" data-prefix="" data-suffix="" style="text-align: right; width: 100%; font-size: 10pt; font-family: Times New Roman;">6</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">&nbsp;</div>
</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 100%;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES</b></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(In thousands)</p>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" data-tbledgar="true" data-tblname="532976" data-tblv="31" style="width: 100%; font-size: 10pt; font-family: &quot;Calibri&quot;, Arial, sans-serif; text-indent: 0px;">

		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="6" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 19%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three Months Ended March 31,</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td id=".trail.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from operating activities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">5,238</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">2,362</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Depreciation and finance lease amortization</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">3,405</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">2,799</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Amortization of intangible assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,008</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,061</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(80</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">635</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Share-based compensation expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,025</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">990</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">159</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">473</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Changes in working capital</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(36,844</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17,962</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Net cash provided by (used in) operating activities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(26,089</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26,282</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from investing activities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Purchases of property and equipment</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(4,570</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(4,382</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other investing activities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">48</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Net cash used in investing activities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4,522</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4,382</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from financing activities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Borrowings on line of credit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">64,664</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">34,602</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Repayments on line of credit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(29,286</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(55,682</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Payments on finance lease obligations</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(381</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(145</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Tax withholdings related to net share settlements of equity awards</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(320</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(422</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Repurchase of common stock</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,872</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Net cash provided by (used in) financing activities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,805</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(21,647</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Change in cash and cash equivalents</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">194</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">253</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash and cash equivalents, beginning of period</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,068</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,681</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash and cash equivalents, end of period</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,262</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,934</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="7" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">7</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>nwpx-20240501.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 5/1/2024 3:17:14 PM-->
<xsd:schema xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:nwpx="http://www.nwpx.com/20240501" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.nwpx.com/20240501">
<xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
<xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"/>
<xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
<xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd"/>

<xsd:annotation>
<xsd:appinfo>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20240501_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20240501_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20240501_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
<link:roleType id="statement-document-and-entity-information" roleURI="http://www.nwpx.com/20240501/role/statement-document-and-entity-information">
<link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
<link:usedOn>link:calculationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:presentationLink</link:usedOn>
</link:roleType>
</xsd:appinfo>
</xsd:annotation>
<xsd:element abstract="true" id="nwpx_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>4
<FILENAME>nwpx-20240501_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 5/1/2024 3:17:14 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
<link:roleRef roleURI="http://www.nwpx.com/20240501/role/statement-document-and-entity-information" xlink:href="nwpx-20240501.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:definitionLink xlink:role="http://www.nwpx.com/20240501/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
<link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>

<link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>


<link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
<link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
<link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
<link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
<link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
<link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
<link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
<link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
<link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
<link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
<link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
<link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
<link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
<link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_WrittenCommunications" xlink:type="arc"/>
<link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SolicitingMaterial" xlink:type="arc"/>
<link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementTenderOffer" xlink:type="arc"/>
<link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementIssuerTenderOffer" xlink:type="arc"/>
<link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
<link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
<link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
<link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
<link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
<link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>

</link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>nwpx-20240501_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 5/1/2024 3:17:14 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
<link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document, Type</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document, Period End Date</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Registrant Name</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:label xlink:label="dei_EntityIncorporationStateCountryCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Incorporation, State or Country Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:label xlink:label="dei_EntityFileNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, File Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:label xlink:label="dei_EntityTaxIdentificationNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Tax Identification Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressAddressLine1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, Address Line One</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressCityOrTown-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, City or Town</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressStateOrProvince-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, State or Province</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressPostalZipCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, Postal Zip Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:label xlink:label="dei_CityAreaCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:label xlink:label="dei_LocalPhoneNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:label xlink:label="dei_WrittenCommunications-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Written Communications</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:label xlink:label="dei_SolicitingMaterial-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Soliciting Material</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:label xlink:label="dei_PreCommencementTenderOffer-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:label xlink:label="dei_PreCommencementIssuerTenderOffer-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:label xlink:label="dei_Security12bTitle-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:label xlink:label="dei_TradingSymbol-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:label xlink:label="dei_SecurityExchangeName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Emerging Growth Company</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Central Index Key</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>

</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>nwpx-20240501_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 5/1/2024 3:17:14 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<link:roleRef roleURI="http://www.nwpx.com/20240501/role/statement-document-and-entity-information" xlink:href="nwpx-20240501.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:presentationLink xlink:role="http://www.nwpx.com/20240501/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>

<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>

<link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
<link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
<link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
<link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
<link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
<link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
<link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
<link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
<link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
<link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
<link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
<link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
<link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_WrittenCommunications" xlink:type="arc"/>
<link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SolicitingMaterial" xlink:type="arc"/>
<link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementTenderOffer" xlink:type="arc"/>
<link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementIssuerTenderOffer" xlink:type="arc"/>
<link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
<link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
<link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
<link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
<link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
<link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>

</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>7
<FILENAME>image01.jpg
<TEXT>
begin 644 image01.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  (! 0(! 0(" @(" @(" P4# P,#
M P8$! ,%!P8'!P<&!P<("0L)" @*" <'"@T*"@L,# P,!PD.#PT,#@L,# S_
MVP!# 0(" @,# P8# P8," <(# P,# P,# P,# P,# P,# P,# P,# P,# P,
M# P,# P,# P,# P,# P,# P,# P,# S_P  1" !  0T# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MG&2O%W1X]_P4+_Y,$^.'_9/]>_\ 3=/7P/\ \&EW_)G'Q+_['3_VQMJ^^/\
M@H7_ ,F"?'#_ +)_KW_INGKX'_X-+O\ DSCXE_\ 8Z?^V-M7T.$_Y$F(_P 4
M3CJ?[U#T9UO_  </?\%*/%?[*O@SPK\*OAK-/;>._B4KM+=VPW7-G9[Q"JQ#
MKYDTA95/81MW(KQ_]F'_ (-:[+Q;X'37_C;XYUR;QCK<7VFZL]/</]CE?D^9
M.Y)E<9PW;(X)KEO^"_MV/@3_ ,%D_P!G/XH>(HY'\'6,.CSRR%=RA;#5Y)[E
M0.Y$<T;8_P!H5^T_AGQ-I_C/P]9:MI-Y;:CIFI0)<VMU;R"2*XC<!E=6'!!!
M!KKK8RMEV78?ZG[OM$W*2W;OM?R,HTHUJ\_:ZVV1^!?[1?[-/Q<_X-R?CUX5
M\>^!_%]WXD^&GB34O(N;<@Q1W@3#M:74?*J[QABCKS\AYX(K]U/@'\9](_:+
M^"?A7QWH#.VC>+=+M]5M-_WT25 ^QAV9<E2.Q!K\\O\ @Z<^-WASPK^PMHW@
M:[>WG\3>+?$-O=:?;D@RV\-J&::XQV'SI'[^<?>OJ'_@C5X#U3X:_P#!+[X,
M:5K$<L-__8"WC1RC#QI<2R7$:D=L1RIQVK+-JCQ664<=77[SF<;[<R[_ "V*
MPR]G7E1A\-K^A^:W_!+S_E9=^./_ &$O%O\ Z7BOKG_@YR_Y1<:C_P!C+IG_
M *%)7R-_P2\_Y67?CC_V$O%O_I>*^O/^"WG[ GQ\_;_CT/PO\._$&A6?P]6U
M2?5M-OY5B,]_',[1R [2V C <'%>CC90CG&&J59**C"#N_(PI7>&J**NVV?"
M?QZ_87\1_!C]@G]G;]KWX-N=(\6>#?"FER^(X[2,[Y0$$:7NT<,-K>7*.Z$$
M]&-4OV;_ -MZV_;(_P""]'P\^+NDV#QWESX3N)+K3R/]7?6WAV\6:)?53(AV
MGN&%?I]_P24_9,^+W[-O[,^J_#KXWZIH?B;2;1(=,T&R@"306^G+"4>!QM&X
M$G^+.17S3^RG_P $%/$O['O_  5PTOXI>&;W1Y/A)I5W?W-G:R3G[=:Q7-A/
M"("N/F"23;0<\J >N16D,WPSCB*6(DG)1FH2_FC+7E^3V$\-4O"4%9-JZ[-=
M3S?_ (-Z?V-OA]^W7X1^)GQH^+MC:_$'QU>>*I;%H]4<RBU4V\,QF*9ZNTS*
M,\ 18 XJO^W%^SOX6_X)S_\ !:3]G6[^$-N- L_BI?V^E^(?#UI*3!);SWL5
MK."F>(Y8IF^4\!H2P]O0_BU_P1L^/G[&W[1NO>./V0O&EKI.A>+=TM_X=O[E
M(UMY&<L4 D'EO&I.4.0Z@E>1R>N_8>_X(W?$]/VB=0^/G[1/C&+Q7\5+.%V\
M-VD4XEM],N/*=8Y9#C8!&6RB1C:#\Q.>JJ9A1]M4QOUA.G*+2IZWU5DK;))Z
MW"-&?*J7)[R>_P"MSY4^$G_!.'X9?'+_ (.&OB?\++O0X;'X;^#K!M:70;5V
MC@N!';6"+"3G.WS;K>>>=I'&:^EO^#D']E3X>?#W_@FWI.KZ-X4TRPU3P;=:
M5X;T6YC#>9IVG!I,6R$G[GUR?>N._9)_X)0_M?\ PC_X*'Z;\;_$WC+PK<W^
MN7UK;^,+J&=#-J6F"6V-Q"$V;06CMD'RX/R]>:^T/^"RW[%WBO\ ;W_8LNOA
M_P"#9=.AUJ;6;._5KZ7RXO+B+%N<'GD5CB<Q4<QPLO;J4(J*=F[76DF_7\BJ
M=!NA47)9N_\ P#A?V8O@5X1^#?\ P0WNK[PQH-CHUWXP^#HUC69;<$-J%V^A
M9>9\D_,23T]:^5O^#=+_ ()R_![]HS]AOQ%XM\>^#--\5ZUJOB.[TD2WVX_9
M;6*" A(P"-I+2.Q/7D>E>G>"/V#_ -M'P]_P3S\1?":?Q]X:.J%M.T/0PLD?
MD6N@QV=Q;75J6\O.6#6X!.3\IYK5_P""5?\ P3I_:4_81_9Y^+G@N_\ $_AZ
M)-8T.[F\%QVDRRIIVN2PNJW#DKG&Y8>N1\O2LIUE3PV(4,0N>4TU9N[7]/\
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
M;QI\#+H>+/%_B[5_C%J]N]W?^+'OO-ADU)P6+&)UR\.\X.YM[ $[E)P/E_\
M9V_X*S_%;X1_\$>?C?H>H:]?7WC_ .&OB#3_  IHNNRN)YK*"]:5"/,;)=HE
MM+K8[9(\R/LM80R.EB87P-7F:<4[JWQ.R:WTO\RGBY0?[Z-M&U\C]G?$7[6'
MPQ\(^.!X9U3X@>#M.\1,XC&FW&KP1W18]%\LMNR<CM6G;_'SP1>>,?\ A'HO
M%WAR37O/-M_9ZZA$;GS1G*>7NW;A@\8[5^7_ .Q'_P &Z7PJ^._[&_AKQI\3
M=9\6ZS\0/B3I$7B.YU2VU(*+)KR,3Q[0RMYCA9%WLY;<V[&!7SW_ ,$0_P!C
M.VN?^"S_ ,2=&\=ZG>Z_XD^"[W][:ZE%<$?;KZWOXK7SI-V2RLDCD@G.2,G(
MK7^QL!*G6E3K-NDM?=W>VFNUR?K59.*E'XO,_;W2?VD/A_KT]W%9>-?"]W)8
M0/<W*Q:G"YMXD^^[8;A5R,D]*L?##X]^"?C6MR?"'BWP[XG%FVV?^R]0BNO)
M/HVQCBOPA\"?\$O/"OQ!_P""\GQ$^ NF:QX@T3X=:?9_;M62&\_TW4;,VME=
M/:F3;C:]S+&3E>%7U KTKXE_L<:3_P $D_\ @N#^SM9_"75];LO#OQ'N+6SO
MK*[N?-;RYKHVMQ"S8&^)E9' 8$JZYSPN-)\/X2_LZ=9N;ASI..EK7LW?<E8R
MI\4HZ)V>I^Q&N_M-?#KPOJLMCJ7CGPI87L&/,@GU2&.1,@,,J6R,@@_0U:\6
M?M >!O =W;P:WXO\-Z3->6ZW<$=WJ,4+30MD+(H9AE3@X(XX-?C-_P '''_!
M-+PG^S_?^$_CEHEKK%[8:YKL.E>+K62Z#;U%O&+<Q':/+!CMI4).?F=/I4'_
M  6*^!'@_P#;=_X*+_LO_"_X=7%U-J/B/P=IUK<ZEYHFCM]$+R36[A0/]8EN
M+J9L_>#Q=.\X;(<+6C2J1JOEDI-NWP\JUZ_UH.>,J1<HN.JM;7>Y^X'AGQ/I
MWC/0K?4](OK34].NU+075K*)8I@"02K#(/((_"K]<+^S3^SSX>_91^!OA[X>
M^%!>+X>\,0-;V0NYO-FVM(\AW, ,G<[=J[JOEZG*IM0U73T/05[:[A1114#/
M&?VY?V%?!'_!0CX06?@CQ\VLKHMEJD6L1G3+E;>;SXXY8URS(XV[9GXQUQS7
M"?L&?\$C/A1_P3G\;:YK_P /7\4/?^(;%=/NO[4OX[A/+602#:%C3!R!SDU]
M0T5UQQ^(C0>&C-\CZ=#-T8.?.UJ%%%%<AH%%%% ',_&CX8V?QM^#WBSP9J$L
ML%AXNT:\T6YEB^_'%<P/"[+[@.2*_"SX+_L=_P#!1/\ X)AW_B3P?\)-(DN/
M#VJ7_P!L>\TV/2M0M-0=5\M9D%UF2(E H*E5/ R#C-?OS17KY;G%3!PE2Y(S
MC*UU)76AS5\-&JU*[378_$'_ (73_P %9_\ H"ZO_P""/P__ /$T?\+I_P""
ML_\ T!=7_P#!'X?_ /B:_;ZBN_\ UCA_T"4O_ ?^"9?4G_S\E]Y^(/\ PNG_
M (*S_P#0%U?_ ,$?A_\ ^)H_X73_ ,%9_P#H"ZO_ ."/P_\ _$U^WU%'^L</
M^@2E_P" _P#!#ZD_^?DOO/RG_P""%W_!+KXP?"/]J'QU^T!\>;9M)\7>)(;F
M*ULI+B"6YNY[R<375W,("8XQE0JH#_RT?*J%7/UQ_P %7?\ @FCHO_!3;]G>
M/PS<Z@-"\3Z!<-J/A[5C%YBV\Y0JT4HZF&0;0VTY!5&&=NT_4%%>=B,YQ-7%
MK&I\LE:UME;HO(VAA81I^RW1^)/PZOO^"H/[&/@^W^&ND>%H_&&E::GV72M3
MF6RU;[/".$$=PTJML'\(N%RHP,   >[_ /!)S_@CY\2?"/[3FH?M'?M,:K'K
M7Q0NFDDTO3FN8[QK&61"C7$[H/*#HA*111$I&IR#D*%_3^BNO$<15:E.4*=.
M$'/XG%6;_'KU,H8**DG*3=MKGY(_&G]A/]I?_@F)^VIXQ^+'[*NC6/COP/\
M$9VO-:\+WTB,+:=Y7D9##YD3.B.[&)XFWHLC(P(!+N^#'[#?[3O_  4W_;3\
M#_%C]J31]+\ >"_AA<)?Z)X9LM@-Y,LJ2A!$)961&>.,RO*^YEC5%7!W+^ME
M%+_6&OR?!'VEN7GM[UK6[VO;2]KV']2A?=VWMT/Q2^'?P&_;AB_X*XP_M!ZI
M\$M"MI]8O(-&U)EOK4V-OI>V*TDG2/[<9?,%M'O^\WS9^0_=K4_X*2? ']M'
MXW?\%+-"^)WA7X-:-J^D_!_5L>#;I;ZUCAU2VBN/.B>Z1[U78ENNWRN.PK]F
M:*U7$E158U52A=1Y%H]O_ NVA/U&/*X\SU=_ZT/R!_X+@?LY?M;_ +=T_@#P
MSH'PETS5?"^@Z=8Z]<7EG>VMO<1:Q+;LEW;'SKL Q(QPN$_X&U<!_P %]M9^
M)GQ9_8:_9FG^+V@Z9X.^)&K^(=3AU?3;##6UBY81Q;<2RYS$(F/[QN6/3H/V
M]KXO_P""@_\ P1(\!?\ !1KXSV?C3Q;XV^(6C7-AI\.GP6&D75LEG&(WD;S0
MLL+D2'S""0>BKZ5T97GU.-2C&O%1C2NTTFWJK=^N_P B,1A).,G!MN7<^8-9
M\>?\%._A?\/?^%26'@+P?XGEM+?^RK/Q_;W,+7<]N%V+/YDMTB"0+CYY8 _&
M2K-\Q]&_9N_X(#6?A#_@EKXV^#GB[7H#X]^)5Q#K6HZS:H9H=*OH"K6D<>[#
M21QD,')P7\Z7&,KC[J_9;_9^L_V6/@'X<\ :?K.M^(+/PW#)#%J&L3+->W(>
M5Y<R.JJ"07(& . *[^N*OGM5>YAHQ@N9.\5;F:>C=V_6VQK#"1WFV]+:]#\;
M/@=XM_X*3_L7?#.R^">A?"CPMXNL- C.FZ%XDN&CN5MK8$B/;-]JBC,:+@()
MHPRJ "#@"L;_ ()3?L&_M=?L0?\ !2>]\3>(_ EGK'A_QK<3Z9XL\47.HVTZ
MRV\LZW$MY JW"R[VFC4@O&3ACE 3Q^UE%:2XCFX5(*C!>T7O63U\]_GV)6!5
MTW)Z;'XI_L__  !_;=\*_P#!6ZY^/FK?!31+0^-;ZWT;7Y/MUJUE9:6S6L$T
M\,8OC*)%@MU89+_-N^0Y"CI?^"JG[//[8/QI_P""FWAOXB^ OA#I6O\ AWX.
M7UK/X.O?MMK%'J:KY-RQNDDO$=L7'F)\HC^5?^!']AZ*/]9*BK1K^RA=1Y-G
M:WW]M/1C^HQY'#F>]_ZT/DWXV?"'Q-^VW_P2?\5^'_CII&D>#?&&KZ)?W5_#
M;N!:Z/<6L\LMG/N$DN%"PP2-\YR"XXS@?!7_  :T?LNWWQ#\5>+OCYXIGOM0
MET&UA\$^&GNI-XB5(8O.*YY B@%M"F. KR#MQ^G/[?7[#>B?\%!?@C!X%\0>
M)/%/AC38=3CU)[C0+B.&XN-L,T1A<R(ZF)A,Q*XY*K7#_P#!-S_@E#X/_P""
M9,GB@>$/%GC;Q!;>*4MTEMM<N8)(;0PF4AHEBBC"EO-.XG.=J^E50S2G3RVO
M04K2J.ZBEHEU2?FK?)"EAY.O";6BZGU-1117S1W!1110 4444 %%%% !1110
#!__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140417535607424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Document And Entity Information<br></strong></div></th>
<th class="th"><div>May 01, 2024</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_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</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_EntityRegistrantName', window );">Entity, Registrant Name</a></td>
<td class="text">NORTHWEST PIPE COMPANY<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_DocumentType', window );">Document, Type</a></td>
<td class="text">8-K<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">May  01,  2024<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">OR<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_EntityFileNumber', window );">Entity, File Number</a></td>
<td class="text">0-27140<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_EntityTaxIdentificationNumber', window );">Entity, Tax Identification Number</a></td>
<td class="text">93-0557988<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">201 NE Park Plaza Drive, Suite&#160;100<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">Vancouver<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">WA<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">98684<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">360<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">397-6250<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<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">NWPX<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>
<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_AmendmentFlag', window );">Amendment Flag</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_EntityCentralIndexKey', window );">Entity, Central Index Key</a></td>
<td class="text">0001001385<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_DocumentInformationLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="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_DocumentInformationLineItems</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>EXCEL
<SEQUENCE>10
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( 'N#H5@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " ![@Z%8:<*C<^\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9)1
M2\,P$,>_BN2]O31U"J'KBV-/"H(#Q;>0W+9@DX;DI-VW-ZU;A^@'\#%W__SN
M=W"-#E+W$9]C'S"2Q70SNLXGJ<.:'8F"!$CZB$ZE,B=\;N[[Z!3E9SQ 4/I#
M'1 $YW?@D)11I& "%F$ALK8Q6NJ(BOIXQAN]X,-G[&:8T8 =.O24H"HK8.TT
M,9S&KH$K8((11I>^"V@6XES]$SMW@)V38[)+:AB&<JCG7-ZA@K>GQY=YW<+Z
M1,IKS+^2E70*N&:7R:_UPV:W9:W@XK;@JX)7.\&EN)>K^GUR_>%W%7:]L7O[
MCXTO@FT#O^ZB_0)02P,$%     @ >X.A6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
M" ![@Z%8C&4A^%4$  "K$   &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;)68:W/B-A2&_XK&G=EI9Y+%-O<4F"&$[#*[(6Z@FUZF'X0M0!/;<B4YA/[Z
M/;+!9KOFF/T27]!Y_?CHZ#U6!CLA7]26,4W>HC!60VNK=7+3:"A_RR*JWHN$
MQ?#+6LB(:KB4FX9*)*-!%A2%#=>V.XV(\M@:#;)[GAP-1*I#'C-/$I5&$97[
M6Q:*W=!RK..-)[[9:G.C,1HD=,,63/^>>!*N&H5*P",6*RYB(MEZ:(V=FUNW
M90*R$5\XVZF3<V)>927$B[F8!4/+-D0L9+XV$A0.KVS"PM H <>_!U&K>*8)
M/#T_JM]G+P\OLZ**343XS .]'5H]BP1L3=-0/XG=1W9XH;;1\T6HLK]DEX]M
MM2WBITJ+Z! ,!!&/\R-].R3B)*!Y+L ]!+@9=_Z@C/*.:CH:2+$CTHP&-7.2
MO6H6#7 \-K.RT!)^Y1"G1W?"3R')FHSC@$QCS?6>S.)\MB%K@X:&AYBA#?\@
M>)L+NF<$'^B>V,X5<6VW]6UT ] */K?@<S.Y9AW?"13Y^S.,(C/-(O5/%6$N
MV:J6-'5^HQ+JLZ$%A:R8?&76Z-U/3L?^%0%N%L!-3'V4Y_"*/+$-5UI20)_3
MB%5AXD+SQZ?EQ^?I8DF\F3<ED\<';SS_$R%L%80M5/B8TBNRW">58'A\[_H3
M0M$N*-H74GA,<F&*+R!0PI5 N)0IN:SFZHJN4[!U+IK#6>P+F0B95=T566C
M(T*2B4AC+?=P#"IQ<?7')P2Q6R!V+T*\YR$C\S1:,5E%@HO8UV[7:=D(3J_
MZ5V$LZ1O9!; M/(U]_/%>AX.E^PWK^UVN]OO]1"^?L'7OXAO' 2PY%5Q0C(G
M>8PKIQ&7=&V'S*?$H_*%>"']CY(["0T&RB3EFN5^XMA8<AV[-&G[Q_ GQJ>A
M$I=B5^W1N-X7"I6=OOY_6KZE.VDASH_1%0O%D^*5QWYE=FM$G\<86]D^'-3L
MOV?SA-(T)'_QY.SRK9'L]SH]S&6<LE4XN,5GLSB&CZGS*+A LX/65]D1'-S2
M/PL?<N)M18R928U(L]^][KAME*CL#@[NZ<^2:\UB2$P4I?'!2U0E%2ZTIJ%B
M&%+9%!S<MQ<BY#[7/-Z0!ZAOR6E8R8.KU/*4'<#!W=N3[-J']#!88-DGTI+%
M 9/D<;T^,W^X7BU9V0P<W+J_(YLIE0)9+2 N6PM8=@,']^XEU] VQ9HX[L^K
M7\B"^2G4V[Z2"5<R]0E-;J&%_X)][I96[^+6O)0T,"6VV$<K45E@-0+S9^\/
MC*2T=1=WX&-6R/3-W])XP\Y^R-8(S<>+N_%O&-/);N R.Y]&3&Y,FCZ A-X:
MFTAH7#F!-8IU1>66;N[B9CR&4@^R<K\/Z:82!1>H12G]W,6M^)BF"=!(</89
MK+LW\HE5)PC7LFT;/F.<9J]=A=8XV7J:;?P#-?.B2,C6H&:_[X([RWQGG%]H
MD62[T970L+?-3K>,@BV8 ?#[6@A]O# ;W.+_$Z.O4$L#!!0    ( 'N#H5B?
MH!OPL0(  .(,   -    >&PO<W1Y;&5S+GAM;-U7;6O;,!#^*T(_8&YB:N*1
M&+9 8;"-0O-A7Y58=@1Z\62Y<_KKI[-L)VEU9=V'L<VAR=T]NKM'=R>9KEMW
MDOSAR+DCO9*ZW="C<\W[)&D/1ZY8^\XT7'ND,E8QYU5;)VUC.2M;<%(R6=[<
M9(EB0M-BK3MUIUQ+#J;3;D-O:%*L*Z//EI0&@U_*%">/3&[HEDFQMV)8RY20
MIV!>@N%@I+'$>2I\0Q=@:9\"O @:L!SC**&-!6,2,H3O_;C\&3!IK5>%E#/!
M)0V&8MTPY[C5=UX9%@_&%Q 9Y=VI\0QKRTZ+Y2T].PP_/LG>V)+;.<V"3J9B
M+7D%=*RHC_#K3), Z)Q17B@%JXUF X?)8Q1\V .7\@%:^*VZBMU7)/3B4PEM
M(+#52?2$1C&$"0K$OXP68E^$O?VML*01C\9][/QN]*!_[XSC]Y97HA_TOIKS
M8]$7>'36-/+T08I:*Q[V_LL)BS6;_,C16/'DL\&D'+R!6TH>N77B<&GY85FS
MX[V;IJFO<,[+?Y#SGZUSS36W3%Z2]J/_-U?Y+8R3\?1<'-&K SI;"5R$&_H5
M[E=YYD#VG9!.Z%$[BK+D^L4Y]>$=V_L+_"J^7U_RBG72[69P0\_R%UZ*3N7S
MJGNHR[CJ+'^&^VB1S;>PSR5TR7M>;D?5UOM!)%[P6<<'')XC=\,31S"?@,41
MP+ \& /,)WAA>?ZG_:S0_00,X[:*(BO49X7Z!*\8LAT^6)ZX3^Z?^$[S/$VS
M#*OH=AMEL,7JEF7P%X^&<0,/+ ]D>ENM\6[C$_+Z'& ]?6U"L)WBDXCM%*\U
M(/&Z@4>>Q[N-Y0$/K O8[$#^>!Z8J;A/FD)7,6[8"<:1/,<0F,7XC&894IT,
M/O'^8*<D3?,\C@ 69Y"F& *G$4<P!L !0])T> \^>Q\ETWLJ.?]74_P$4$L#
M!!0    ( 'N#H5B7BKL<P    !,"   +    7W)E;',O+G)E;'.=DKENPS ,
M0'_%T)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BD
MMHNI&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G
M<Z17B%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^
M=N!)T:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"
MR0_L?@!02P,$%     @ >X.A6#JJHN=  0  / (   \   !X;"]W;W)K8F]O
M:RYX;6R-45UKPS ,_"O&/V!)RU98:09CW4=A;&4=?7=BI1&UK6"K[=9?/R4A
MK+"7/<DZB=/=>7&BN"^)]NK+NY *W3"W\RQ+50/>I"MJ(<BDIN@-2QMW66HC
M&)L: /8NF^;Y+/,&@[Y;C%SKF%TVQ% Q4A"P [8(I_0[[UIUQ(0E.N3O0O=O
M!UIY#.CQ#+;0N5:IH=,+13Q38.,V523G"CT9!EN(C-4?>-.)_#1EZA$VY8<1
M(86>Y4)88TS<;_3\1C0>09:'[L#TA(XA+@W#<Z1#BV'7T8B+[,)&G\-8AQ#G
M\3\Q4EUC!4NJ#AX"#SE&<)W D!ILDU;!>"CTN*+N@U6/@24DM0H#E>QV3N7T
MR@ZN6>1>9!CG*(.XLH/P4:V%&@/8-SF0!)?DJG547>EYIM<WDUM)Z.#<@V#O
MX96,'<V/'W?W U!+ P04    " ![@Z%8)!Z;HJT   #X 0  &@   'AL+U]R
M96QS+W=O<FMB;V]K+GAM;"YR96QSM9$]#H,P#(6O$N4 -5"I0P5,75@K+A %
M\R,2$L6N"K<OA0&0.G1ALIXM?^_)3I]H%'=NH+;S)$9K!LIDR^SO *1;M(HN
MSN,P3VH7K.)9A@:\TKUJ$)(HND'8,V2>[IFBG#S^0W1UW6E\./VR./ /,+Q=
MZ*E%9"E*%1KD3,)HMC;!4N++3):BJ#(9BBJ6<%H@XLD@;6E6?;!/3K3G>1<W
M]T6NS>,)KM\,<'AT_@%02P,$%     @ >X.A6&60>9(9 0  SP,  !,   !;
M0V]N=&5N=%]4>7!E<UTN>&ULK9--3L,P$(6O$F5;)2XL6*"F&V +77 !8T\:
MJ_Z39UK2VS-.VDJ@$A6%3:QXWKS/GI>LWH\1L.B=]=B4'5%\% )5!TYB'2)X
MKK0A.4G\FK8B2K636Q#WR^6#4,$3>*HH>Y3KU3.T<F^I>.EY&TWP39G 8ED\
MC<+,:DH9HS5*$M?%P>L?E.I$J+EST&!G(BY84(JKA%SY'7#J>SM 2D9#L9&)
M7J5CE>BM0#I:P'K:XLH90]L:!3JHO>.6&F,"J;$#(&?KT70Q32:>,(S/N]G\
MP68*R,I-"A$YL01_QYTCR=U59"-(9*:O>"&R]>S[04Y;@[Z1S>/]#&DWY(%B
M6.;/^'O&%_\;SO$1PNZ_/[&\UDX:?^:+X3]>?P%02P$"% ,4    " ![@Z%8
M!T%-8H$   "Q    $               @ $     9&]C4')O<',O87!P+GAM
M;%!+ 0(4 Q0    ( 'N#H5AIPJ-S[P   "L"   1              "  :\
M  !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( 'N#H5B97)PC$ 8  )PG
M   3              "  <T!  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#
M%     @ >X.A6(QE(?A5!   JQ   !@              ("!#@@  'AL+W=O
M<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( 'N#H5B?H!OPL0(  .(,
M   -              "  9D,  !X;"]S='EL97,N>&UL4$L! A0#%     @
M>X.A6)>*NQS     $P(   L              ( !=0\  %]R96QS+RYR96QS
M4$L! A0#%     @ >X.A6#JJHN=  0  / (   \              ( !7A
M 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( 'N#H5@D'INBK0   /@!   :
M              "  <L1  !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+
M 0(4 Q0    ( 'N#H5AED'F2&0$  ,\#   3              "  ; 2  !;
H0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@     )  D /@(  /H3      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<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>12
<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>14
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.u1</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>0</UnitCount>
  <MyReports>
    <Report instance="nwpx20240409c_8k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpx.com/20240501/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</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>nwpx-20240501.xsd</File>
    <File>nwpx-20240501_def.xml</File>
    <File>nwpx-20240501_lab.xml</File>
    <File>nwpx-20240501_pre.xml</File>
    <File doctype="8-K" isOnlyDei="true" original="nwpx20240409c_8k.htm">nwpx20240409c_8k.htm</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>16
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "nwpx20240409c_8k.htm": {
   "nsprefix": "nwpx",
   "nsuri": "http://www.nwpx.com/20240501",
   "dts": {
    "schema": {
     "local": [
      "nwpx-20240501.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/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.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.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    },
    "definitionLink": {
     "local": [
      "nwpx-20240501_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "nwpx-20240501_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "nwpx-20240501_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "nwpx20240409c_8k.htm"
     ]
    }
   },
   "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": 26,
   "unitCount": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2023": 22
   },
   "report": {
    "R1": {
     "role": "http://www.nwpx.com/20240501/role/statement-document-and-entity-information",
     "longName": "000 - Document - Document And Entity Information",
     "shortName": "Document And Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "d20248K",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "nwpx20240409c_8k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d20248K",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "nwpx20240409c_8k.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentInformationTable",
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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": [
      "r1"
     ]
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityDomain",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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": [
      "r1"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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": [
      "r1"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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": [
      "r3"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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": [
      "r4"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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": [
      "r5"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://www.nwpx.com/20240501/role/statement-document-and-entity-information"
     ],
     "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": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>17
<FILENAME>0001437749-24-014177-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-24-014177-xbrl.zip
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
ML)9!7=M09<0WU=+FI6XIL"^^8!,T)QCYA'H4O5O5!%:J$L(6'-""-^4AA3G
M('S,4M9> F4U>&4ROG5*;@2ME&\=79;M9_FV*N*RV&!@+ZAX2,:IND^^/)\4
M6AX$6@9B:*JJ899+^37/W44,:RF(H2%C,^HJCD",@K)+00S-<61VA] J<=Z\
M;<00=Q]'5X2"YF*W@X=1@/QK(A*P"\K^#D0")I<X$2Y[.ISYY%.+PU4=8U"4
M);B"+%FV+ VMV<(Y6.X*@L%>[PN"P6Q3-O5&T]PW*UU!2NEES\6'<G0-*Y"!
M?C5W9B\,_7IWC"4KLN9@R:;WFE&2-;<#'A&)^/D]R=DH@[*,>!706'=D- E5
MK=QSKBPC!&=A;3%[/.^]<)WG?AV\_=C'*XZYXZ=DN<MPHL(\@.P&<+-:$551
MEN$7QF%LVU:>B12D8U&D2J>6*"BS#ME32(DG0P9*Z160Q7G#,DSY>4%1>@=D
M\<%L2P,0:FI/!0V44O1:?"S0_DV'I6/.VHJEWG-E&8G=%H"EY=@ZBQJ,DIQG
M!']%Y$ IO8:R\.)5&785ZP#9\X8.E&5D>,/ NJTAU*CZTXM_^])R-GX@0@4;
M1=-1V8-2_]\R"G!9&).W[*H"7+OK_G.6X/X#XCI8\PJ(JY?HW[OI_7.6X/VS
M9 WL*@MSMXQ9:2&<?UOF_'LVM;?=_.*&+M9HNNY2FE<;<=,N^1K&]Z+Z_0Y(
MX!WPW[7>LJSEE7R*0G-8Q&>N:*;B6$_(!?QT6BY8FLKBR+938D3Q^E-9F@&
M!*SDT5T<WN%O8>QB^:0D806<4EX9"<YPQ@L_#3\AGHM'.<.LS*EZ0',NR'[R
MCIIM3"U(ES73P%0R;?:*6EZZ*F/%MHJ5@%$,TR8=F&6(Q8"$LK[:8SM;E4$N
MY>,G+PA:YM2VFYIAHM\![X%Z*.FP!%7@\]9;'P8I*ZCYD<1]K&@U5OPIP X2
MH'F5V0L55N-B,U-L.-MX_?S#>]7<5S[6VJV\HMI(3]D-%44Y%B6R+9NL60K0
MN"33J$8D7ILO8M:E;3]HKR>UJNN.H2+ &GJ)YZEDT-+[OXL.:B$19OW;,T=]
MS -S'R>_<@D48+>]T@L")5)H&40R=$=3JFY*EXRY#!H9AJGHQFS(8X9&T>BN
MO.LC@E/>8 ?+7;(_#C#P+P3AB@7A<<Z76*L2U"O,P<CKB,[G+U^<02Q-T]!S
MI=<\NKD!,53NE5^<Q+8B8YT&('')N:\1B==8_$1@0/5PX]7$D[$V D];2E7A
ML_F:"A2\BL:2RBZ!6)(LLYQ 7DJ#V=58S'RBJX"+;B3B A7<6YI?/2MKF51Q
M&]%^RE\)GTY-SE84W0:!KSK[FL,-8A11+E =,7/>MF0+$P5M<9Y]4M9I8:RS
M0AT.\6IP<I]<!^@ZQ%6Z@ZP;)\%_W*(:-:NEBTPRQJZH7-PF;@_Q[1RK*[=A
MNH@(DTZ,^?F[ZO;D0ENIZ8:I*GA'TU)>P=]SZ;.+SPWO1K"+$<Z^8<W%WZ5*
MXN(#6Q:[+O[>*"M>R ,!+5A\R#_09.Z2>H-.](7''-4FF:T)4A0>418J/#)6
M2^3WZ;HFQ42T?L;::K-?Y(G>VILHXOO2IF(5%<V)3SM8I[PH;)Y?^"J*J+LI
M0Y!V'LP WN1%UUE*$TU8$W3V01NFP# J+<K3PY0H+\B=N%[>#^69>B=%BQ7V
MM[SX?%'X/$A9)]+;"(CHYS7+@QY=:Y^)VA=X?FE7MCEY8_J.SQB3/+^Q6"I@
M?&,GO>LI:5,:P6)A*0$:"*S4.ZOVS@3>P//@>9U!R&K'8YW]]@".);SB?G'W
M-J&\J0 ^"Q[#GT=9:7_J"S9Y%9MH"[')* EDC$$&$6Q>!Z3<Z(;8>%P#=IOU
MNJ N,@W;2)"IE/$+*@HOZJ>VR28T;Z$<6:'8K*$<F2K*D:VZ'-G++RRUL6]
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
M+S\TLY, SB=5N4S+T7$:35N69-FJ.E@PIRC&*Y&%@V.-9'H2/+5-L<KJ!EZ
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
MR3OD;*PC''\ X#+KZ!_</E=@':#X<@R()TL QVV@ 2NNLX,AIEIBLE;=SU<
M\NX"LJ+7LL;9"]!XYQ7C&_<!)I5UNW'H,X]%0D,WHS[)8BRP0U(L?T92FF4A
MS6&[PY*",3_XWDU\ =4U@6I5I 4+J)Y-"ZY.ZM@RJ-YYQ?F*]O-K&LQW$?=Z
MH$&G6>S]>C4$+T28E20"+S2#MY^-I4FVM;1LK%=.>MD96*MFMB7/X,VG7RTM
MKW<E?"9<WJ_.Y2VOEE.69[%[NOS;ER6:+-DUZ./TLH(E;]]J>/ORY8.J2*9N
MU<\,$?F](C-.9,:)S#B1W[LVG937#\:+94PSQ0H3[!?T*-^Y(3J8=T\'K9]R
MV6@JCDB/JX%V6#^UK]%4C3=5TWWW_,K%I8LR])5(F\+?1>@7P%I ,$;LBZ(3
M.^(KT"79%'4G1-V)6C&E)IG5:4BU\QX(VV Y8HC"NYL70)N3-<^>%PW.BQ\/
ML#_WU(%Y7U_)4SUI75*K>SALS$NM"2_UJMBQ#C*G>M*:Y&B5%O#&JKS/QXZY
MT'D'/UU86O/=NQ&VC^-O!6;/0>K1B'U\NA_<$2]TT_2H\6?K^F;OLO7M=._+
MU6GK#Q MXY]>?OMZ<S7U7K>SE\3WLV]Z- S)Y;?SGS\:Q'<S=R\:]-HT.6I8
M^>M^0CO!PU$C?YD..OG+?*E5K%2YX)N@1U-R3N_)5=QS(UBE=?@))@53*_L!
M"__4COW'YN&G;M8+F_\?4$L#!!0    ( 'N#H5AJ0SI^9P,  &T-   1
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
ML*B;E(/*"Y"#)0;@,V@4U@B!5::&54S(0>K0(D,*RF9>CWD5A!]>$#J"H3W
M8@QUC(G^A+@8#I/>6;%2?0$" 9@8=@*5S2R$57:,XL[@W7W%0X]Z%9"?34!:
M01 RD2TF5?/'%9,2,\H[]GW%)!JUG6+R;.LD_$P=83$!,=KD9G%!1%NE?Z*P
M"XCYO:*L!QPJWI8&V=6\NDL"D(!A1E(DI6Z2AXXJ^1&_T:>.43YDC09Z*I!N
M:*U5U3;PI?3'"]!+Y=\V+T&]DQY:81MZ#7@YF9$ G#R'B,O!CKE+\.?=7?KA
M,0 \-$O5QT)A7>YACXCMTB"XU]'&#;(^(567O'YO,(K[K[N+NRNH2B[VYN.!
M[^X$]SNVVM*]?95<1;]V5/BB!)?%!MWWR'3$[9&F[M*$W7K&_,UU,;J9S[*=
M6[A/F!N_5ZH]<D'F5G&@M'.B-+6D3\?0J86-[DG?OLI*M.^2"17DFKHA(_\T
M\Z9%)EA@/Z*")7+P&RJ!U%Y])PV0A.%)5?NV\<OB7^4!AZN1MM?*/L$U4153
M^TOGKT=7Z6P=._S0ZF.5'393):OQ,1J'FX5PL9J)8\%T5:A5WM=,0P.'?LT\
M"/_@^A!U0SSD0D1$SJFX8C);O?S( 6/+<S#^9GBSSE9'@F,L[9B.F*J'6CFJ
MXW@F3B!XQQDNR:7PIW*$8?P$C^]H0!PVY)XN6TT<A9A[<8RY<@ZBR]9+9 <[
M'NA#D+@S5U6O$ZQZQ?JL1$*@.#"*&1-F%<0O9L:4P')<8N[\MASI/JYN2L6J
MB647HA>EO9K9>Z9!N_G_)\UCZ2*2&((/"H"&7C^9PK+N2F%]]RUZ G$;WB)
M6$^1*8W\QIGY"&1-*2Z0-<]7B9TP8*H7[%-T,H_7]KDZ=-?W^W#'U%KN'!>?
M<E@:Y=8#?*!%L&L>P#B08.K9>*A#;75]&3OC16J'"B?09_+.K5FET@Y=9)62
M4IDGZ_AML?'?8:-5UN XU_GP_F-V/GJ#!!'>$$W-U?Y\OI@LRTHF%K@!U&@1
MT73J'YK&^VZS_M&HG_6;W1JA[I3.@SCNTW>$5_)9(Z;!*DYFA[#=+EXS_M54
M_\$X:E\!UX6>8Z2;U W9% I_G'8S44 ZW(; BZG4>$1559+@#[^14,H?/$,U
M;5KA2#8FQ;Q9S-_+3U[":.:KO]W'NUV.+%MYZ[G1ZS9[GS_U>^3BC%QTFMUZ
MOW71UK=?SUKM>KO1JG\BC8OV::NO;K\^1:%ZM&D/(,CC29D>^M*@?[ZJ\?^%
M@>3#>9HW+CSPZB,/)[I[MTO:OI"C*=X+[/ )(Y$;0G;05&&A8]$\;,2N$3Q9
MA^_ Z0U",'<4+!_6C JPNQ1L+?4\4*.VJH>30<)J0J_0Q3>^]I^_ANKN%M%6
M&0*-.+U5BJ!2=:;JEI?Z2 <XKZ%T??\JKZY\IE=%3XQR3\T^!7ML8,?(0$MU
MJJ9.?J %7^+RC=BY4*NH@DV@M$U#--A4S),CHT\2*/> C_'&)-KW(;6E+P*8
MC>*97>@Z.!Q)8,LP@3#X 0['@\E%68@[)T/ACV&DKR@&_,$G^"&/+-0B.J_N
M&08=PU!X/!A!*P0E3#LNZ/"/^(!+O *@1U2K>0NA4 Z^OA"JT0Y& (MRE 8,
M8A3 %MT<EVF7"!R9"<"GRH'3CDPETXMYU2,_"/3/;GBK>=/Z80SO7?IV:7'5
MQS'.F^U^_"&*/UKO6_W>J]P\/^<MXO[B@;[JX#STKM>+X[_('&0< /^T;/8S
MN'E'E.@/0;'9?_?W .HR?D-L$>1A:LJ *00X*S6F601&H:N@<>PH)Z2;=D(&
M\W6>HJ.^0[;JI!P5Z!/=@WWENRWANQ236689. ! (!T*7F +DSC 4'A9[)1*
MJN_6[K#Q@#GHY*.'RCWE.;;4QR8)?FV2.-&W0K:W*.TU%_;"<V&;%F\^[8?'
M6A_:]?[G;G.;KL@]R3W))*HI6L2F*)?Z<I/.TG\-N8@"ZLU.J7:STOM."-&S
MBK,='=#J3QCA,A#$!@ %-/CZ\S #!@'N$*T63J0*9:,.&"^''D;F.!T$_2-?
M -9JY*H1^_9'82\L<YLZN2_OK[%7H$L 9.\X5\QM-,_W\)EN_V#2P_V8%T.A
M] <FEI>=UYOF3; ?<\=QV=T$V'#XHT;OF8]QZ5:K%N^+RNKPY]["]_/;P]S-
MZB3)'6CLF=_^ZR>%H$#J5("^_L+=*^X]*K[=3#XWE<D'L\/WH"/HO!09=[^-
MKOM1:=EC'O?5]TTBR <G?W*;I5Y@:*V.%'9)8\39,-5X%A^8I-Y>J$]O")6V
MCZ[U1-]>2D\-'I5@DHKY5I=L1?'#IWJO;RSCEQL!TEF_N_)N-#2$/[WY$OTA
MHB.JS$!C)>R /R+T\=/F)_\'4$L! A0#%     @ >X.A6&TDT"[A+P  G<D"
M  T              ( !     &5X7S8U,38P-"YH=&U02P$"% ,4    " ![
M@Z%8:D,Z?F<#  !M#0  $0              @ $,,   ;G=P>"TR,#(T,#4P
M,2YX<V102P$"% ,4    " ![@Z%8J0J&Q-<$  #D+   %0
M@ &B,P  ;G=P>"TR,#(T,#4P,5]D968N>&UL4$L! A0#%     @ >X.A6#F-
M>;[X!0  0CP  !4              ( !K#@  &YW<'@M,C R-# U,#%?;&%B
M+GAM;%!+ 0(4 Q0    ( 'N#H5C/G@6?<P0  'PM   5              "
M =<^  !N=W!X+3(P,C0P-3 Q7W!R92YX;6Q02P$"% ,4    " ![@Z%8(,=1
MJH@/  "68P  %               @ %]0P  ;G=P>#(P,C0P-# Y8U\X:RYH
8=&U02P4&      8 !@"% 0  -U,

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>nwpx20240409c_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:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="nwpx-20240501.xsd" xlink:type="simple"/>
    <context id="d20248K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001001385</identifier>
        </entity>
        <period>
            <startDate>2024-05-01</startDate>
            <endDate>2024-05-01</endDate>
        </period>
    </context>
    <dei:AmendmentFlag contextRef="d20248K" id="ixv-276">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="d20248K" id="ixv-277">0001001385</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="d20248K" id="ixv-17">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="d20248K" id="ixv-27">2024-05-01</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="d20248K" id="ixv-31">NORTHWEST PIPE COMPANY</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="d20248K" id="ixv-40">OR</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="d20248K" id="ixv-45">0-27140</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="d20248K" id="ixv-49">93-0557988</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d20248K" id="ixv-60">201 NE Park Plaza Drive, Suite&#160;100</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="d20248K" id="ixv-65">Vancouver</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d20248K" id="ixv-68">WA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d20248K" id="ixv-71">98684</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d20248K" id="ixv-77">360</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d20248K" id="ixv-80">397-6250</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="d20248K" id="ixv-287">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="d20248K" id="ixv-288">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="d20248K" id="ixv-289">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="d20248K" id="ixv-290">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="d20248K" id="ixv-135">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d20248K" id="ixv-140">NWPX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d20248K" id="ixv-146">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="d20248K" id="ixv-291">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
