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

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			NORTHWEST PIPE CO
		CENTRAL INDEX KEY:			0001001385
		STANDARD INDUSTRIAL CLASSIFICATION:	STEEL PIPE & TUBES [3317]
		ORGANIZATION NAME:           	04 Manufacturing
		EIN:				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:		25895677

	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>nwpx20250203_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/2024" 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/2024" 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/2024" 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/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:rr="http://xbrl.sec.gov/rr/2018-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:nwpx="http://www.nwpx.com/20250430"><head>
	<title>nwpx20250203_8k.htm</title>
	<!-- Generated by ThunderDome Portal - 4/16/2025 4:51:45 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="d20258K" name="dei:AmendmentFlag" id="ixv-273">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d20258K" name="dei:EntityCentralIndexKey" id="ixv-274">0001001385</ix:nonNumeric>

</ix:hidden>
<ix:references>
<link:schemaRef xlink:href="nwpx-20250430.xsd" xlink:type="simple"/>
</ix:references>
<ix:resources>
<xbrli:context id="d20258K">
<xbrli:entity>
<xbrli:identifier scheme="http://www.sec.gov/CIK">0001001385</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2025-04-30</xbrli:startDate>
<xbrli:endDate>2025-04-30</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="d20258K" name="dei:DocumentType" id="ixv-17"><b>8-K</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="d20258K" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" id="ixv-26"><b>April&#160;30, 2025</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="d20258K" name="dei:EntityRegistrantName" id="ixv-30"><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="d20258K" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="ixv-39"><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="d20258K" name="dei:EntityFileNumber" id="ixv-44"><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="d20258K" name="dei:EntityTaxIdentificationNumber" id="ixv-48"><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;"><b><ix:nonNumeric contextRef="d20258K" name="dei:EntityAddressAddressLine1" id="ixv-60"><b>201 NE Park Plaza Drive</b></ix:nonNumeric>, <ix:nonNumeric contextRef="d20258K" name="dei:EntityAddressAddressLine2" id="ixv-62"><b>Suite&#160;100</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;"><b><ix:nonNumeric contextRef="d20258K" name="dei:EntityAddressCityOrTown" id="ixv-66"><b>Vancouver</b></ix:nonNumeric>, <ix:nonNumeric contextRef="d20258K" name="dei:EntityAddressStateOrProvince" id="ixv-68"><b>WA</b></ix:nonNumeric> <ix:nonNumeric contextRef="d20258K" name="dei:EntityAddressPostalZipCode" id="ixv-70"><b>98684</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:<b>&#160;<ix:nonNumeric contextRef="d20258K" name="dei:CityAreaCode" id="ixv-76"><b>360</b></ix:nonNumeric>-<ix:nonNumeric contextRef="d20258K" name="dei:LocalPhoneNumber" id="ixv-78"><b>397-6250</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="d20258K" format="ixt-sec:boolballotbox" name="dei:WrittenCommunications" id="ixv-284">&#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="d20258K" format="ixt-sec:boolballotbox" name="dei:SolicitingMaterial" id="ixv-285">&#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="d20258K" format="ixt-sec:boolballotbox" name="dei:PreCommencementTenderOffer" id="ixv-286">&#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="d20258K" format="ixt-sec:boolballotbox" name="dei:PreCommencementIssuerTenderOffer" 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;">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="d20258K" name="dei:Security12bTitle" id="ixv-132"><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="d20258K" name="dei:TradingSymbol" id="ixv-137"><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="d20258K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-143"><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="d20258K" format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" id="ixv-288">&#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 April 30, 2025, Northwest Pipe Company (the &#8220;Company&#8221;) issued a press release announcing its financial results for the quarter ended March&#160;31, 2025 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 April 30, 2025 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_773635.htm" style="-sec-extract:exhibit;">99.1&#160;Press Release issued by Northwest Pipe Company dated April&#160;30, 2025</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 April 30, 2025.</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_773635.htm
<DESCRIPTION>EXHIBIT 99.1
<TEXT>
<html><head>
	<title>ex_773635.htm</title>
	<!-- Generated by ThunderDome Portal - 4/29/2025 10:47:16 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="47" id="led531961F20243101712766103606">First</a> Quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</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="47" id="led531965F20243101712767677959">$116.1</a>&nbsp;million <a data-tblloc="2x5" data-tblname="531965" data-tblv="47" id="led531965F20243101712767694435">increased</a> <a data-tblloc="2x4" data-tblname="531965" data-tblv="47" id="led531965F20243101712767704514">2.6%</a> year-over-year</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="47" id="led531966F20243101712767846676">0.39</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="47" id="led532000F20243101712767888362">$203</a>&nbsp;million for the Engineered Steel Pressure Pipe segment (</i>&#8220;<i>SPP</i>&#8221;<i>); 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="47" id="led532000F20243101712767896372">$289</a>&nbsp;million</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="47" id="led532000F20243101712767935902">$64</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="11x5" data-tblname="532972" data-tblv="47" id="led532972F2025381744144886444">$5.0</a>&nbsp;million of common stock in April 2025</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>Northwest Pipe Company plans to change its name to NWPX Infrastructure, Inc. in June, subject to shareholder approval</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;<a data-tblloc="2x1" data-tblname="532975" data-tblv="47" id="led532975F2024981728413568499">April 30, 2025</a>&#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="47" id="led531961F20243101712766348758">first</a> quarter ended <a data-tblloc="5x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393699871">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393709287">31, 2025</a>. The Company will broadcast its <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</a> earnings conference call on <a data-tblloc="3x3" data-tblname="532975" data-tblv="47" id="led532975F2025371744043519882">Thursday</a>, <a data-tblloc="3x4" data-tblname="532975" data-tblv="47" id="led532975F2025371744043538891">May</a>&nbsp;<a data-tblloc="3x5" data-tblname="532975" data-tblv="47" id="led532975F2025371744043549547">1, 2025</a> at 7:00 a.m. 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;In the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</a>, we encountered a mix of external challenges ranging from weather disruptions across multiple facilities to the uncertainty brought on by new trade policies from the incoming administration,&#8221; said Scott Montross, President and Chief Executive Officer of Northwest Pipe Company. &#8220;The month of March particularly was more affected than anticipated by issues arising from the new policies. Despite these headwinds, both of our business segments delivered fairly respectable results.&#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; font-variant: normal; margin: 0pt; text-align: justify;">Montross continued, &#8220;As anticipated, <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter SPP bidding was lighter, which temporarily reduced our backlog including confirmed orders to <a data-tblloc="7x6" data-tblname="532000" data-tblv="47" id="led532000F20253231745450987766">$289</a>&nbsp;million. Bidding activity has rebounded significantly in the second quarter, and our backlog including confirmed orders has now climbed well above $300&nbsp;million. This current increase will help mitigate some of the cost pressures at our facility most impacted by trade-related issues as we progress through <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</a>. Our SPP segment generated <a data-tblloc="3x1" data-tblname="532978" data-tblv="47" id="led532978F20253231745451063397">$78.4</a>&nbsp;million in revenue at a <a data-tblloc="9x1" data-tblname="532979" data-tblv="47" id="led532979F20253231745451137317">15.5%</a> margin&#8212;respectable performance given the environment&#8212;and we anticipate similar revenues with improving margins in the second quarter. For the second half of <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</a>, we expect continued growth in both revenue and margin, setting the stage for another strong year for SPP.&#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; font-variant: normal; margin: 0pt; text-align: justify;">Mr. Montross concluded, &#8220;In our Precast business, while the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter typically experiences a seasonal slowdown, this year saw higher weather-related downtime as well as trade policy uncertainty affecting non-residential construction shipments. Despite these factors, our Precast business posted <a data-tblloc="11x1" data-tblname="532978" data-tblv="47" id="led532978F20253231745451206775">$37.7</a>&nbsp;million in revenue and a <a data-tblloc="13x1" data-tblname="532979" data-tblv="47" id="led532979F20253231745451221838">19.1%</a> margin&#8212;marking a 13% and 140 basis point improvement, respectively, over the same period last year. Our quarter-ending Precast orderbook rose to <a data-tblloc="9x6" data-tblname="532000" data-tblv="47" id="led532000F20253231745451505107">$64</a>&nbsp;million, up <a data-tblloc="9x9" data-tblname="532000" data-tblv="47" id="led532000F20253231745451565532">23%</a> year-over-year, driven largely by growth in the non-residential segment. We expect our second quarter precast revenue and margins to come in stronger than the second quarter of 2024 and a second half of 2025 with revenue similar to 2024 but with improving margins. We are looking ahead to a strong second quarter and the launch of our new Company name&#8212;NWPX Infrastructure, Inc. This rebranding reflects our strategic evolution and aligns with the infrastructure-focused solutions we deliver across North America.&#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="47" id="led531961F20243101712766103606">First</a> Quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</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="47" id="led531965F20243101712768492189">increased</a> <a data-tblloc="2x4" data-tblname="531965" data-tblv="47" id="led531965F20243101712768502241">2.6%</a> to <a data-tblloc="2x1" data-tblname="531965" data-tblv="47" id="led531965F20243101712768509176">$116.1</a>&nbsp;million from <a data-tblloc="2x2" data-tblname="531965" data-tblv="47" id="led531965F20243101712768517521">$113.2</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</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="47" id="led531965F20243101712768565876">decreased</a> <a data-tblloc="3x4" data-tblname="531965" data-tblv="47" id="led531965F20243101712768573759">3.8%</a> to <a data-tblloc="3x1" data-tblname="531965" data-tblv="47" id="led531965F20243101712768580624">$19.4</a>&nbsp;million, or <a data-tblloc="3x1" data-tblname="532979" data-tblv="47" id="led532979F20243101712769145558">16.7%</a> of net sales, from <a data-tblloc="3x2" data-tblname="531965" data-tblv="47" id="led531965F20243101712768595094">$20.1</a>&nbsp;million, or <a data-tblloc="3x2" data-tblname="532979" data-tblv="47" id="led532979F20243101712769155626">17.8%</a> of net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</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="47" id="led531965F20243101712768775971">$4.0</a>&nbsp;million, or $<a data-tblloc="16x2" data-tblname="531966" data-tblv="47" id="led531966F20243101712768805954">0.39</a> per diluted share, compared to <a data-tblloc="7x2" data-tblname="531965" data-tblv="47" id="led531965F20243101712768787675">$5.2</a>&nbsp;million, or $<a data-tblloc="16x5" data-tblname="531966" data-tblv="47" id="led531966F20243101712768816863">0.52</a> per diluted share, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</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="47" id="led532978F20243101712768924718">decreased</a> <a data-tblloc="3x4" data-tblname="532978" data-tblv="47" id="led532978F20243101712768935918">2.0%</a> to <a data-tblloc="3x1" data-tblname="532978" data-tblv="47" id="led532978F20243101712768944334">$78.4</a>&nbsp;million from <a data-tblloc="3x2" data-tblname="532978" data-tblv="47" id="led532978F20243101712768951076">$80.0</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</a> driven by an <a data-tblloc="5x4" data-tblname="532978" data-tblv="47" id="led532978F20243101712769001813">18%</a> <a data-tblloc="5x5" data-tblname="532978" data-tblv="47" id="led532978F20243101712769010856">decrease</a> in tons produced resulting from changes in project timing, partially offset by a <a data-tblloc="6x4" data-tblname="532978" data-tblv="47" id="led532978F20243101712769021956">20%</a> <a data-tblloc="6x5" data-tblname="532978" data-tblv="47" id="led532978F20243101712769028446">increase</a> in selling price per ton 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;">SPP gross profit <a data-tblloc="4x5" data-tblname="532978" data-tblv="47" id="led532978F20243101712769060458">decreased</a> <a data-tblloc="4x4" data-tblname="532978" data-tblv="47" id="led532978F20243101712769068189">14.5%</a> to <a data-tblloc="4x1" data-tblname="532978" data-tblv="47" id="led532978F20243101712769077810">$12.2</a>&nbsp;million, or <a data-tblloc="9x1" data-tblname="532979" data-tblv="47" id="led532979F20243101712769209338">15.5%</a> of SPP net sales, from <a data-tblloc="4x2" data-tblname="532978" data-tblv="47" id="led532978F20243101712769102893">$14.2</a>&nbsp;million, or <a data-tblloc="9x2" data-tblname="532979" data-tblv="47" id="led532979F20243101712769221413">17.8%</a> of SPP net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</a> primarily due to decreased 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="47" id="led532000F20243101712769255436">$203</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393837728">31, 2025</a> compared to <a data-tblloc="6x7" data-tblname="532000" data-tblv="47" id="led532000F20243101712769285203">$213</a>&nbsp;million as of <a data-tblloc="9x1" data-tblname="531962" data-tblv="47" id="led531962F2025371744043139773">December</a>&nbsp;<a data-tblloc="11x1" data-tblname="531962" data-tblv="47" id="led531962F2025371744043169725">31, 2024</a> and <a data-tblloc="6x8" data-tblname="532000" data-tblv="47" id="led532000F20243101712769302466">$255</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393901272">31, 2024</a>. Backlog including confirmed orders was <a data-tblloc="7x6" data-tblname="532000" data-tblv="47" id="led532000F20243101712769322341">$289</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393837728">31, 2025</a> compared to <a data-tblloc="7x7" data-tblname="532000" data-tblv="47" id="led532000F20243101712769330241">$310</a>&nbsp;million as of <a data-tblloc="9x1" data-tblname="531962" data-tblv="47" id="led531962F2025371744043139773">December</a>&nbsp;<a data-tblloc="11x1" data-tblname="531962" data-tblv="47" id="led531962F2025371744043169725">31, 2024</a> and <a data-tblloc="7x8" data-tblname="532000" data-tblv="47" id="led532000F20243101712769339909">$337</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393901272">31, 2024</a>.</td>
		</tr>

</table>

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

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><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="47" id="led532978F20243101712770077353">increased</a> <a data-tblloc="11x4" data-tblname="532978" data-tblv="47" id="led532978F20243101712770086064">13.4%</a> to <a data-tblloc="11x1" data-tblname="532978" data-tblv="47" id="led532978F20243101712770094335">$37.7</a>&nbsp;million from <a data-tblloc="11x2" data-tblname="532978" data-tblv="47" id="led532978F20243101712770103957">$33.2</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</a> driven by a <a data-tblloc="13x4" data-tblname="532978" data-tblv="47" id="led532978F20243101712770149003">21%</a> <a data-tblloc="13x5" data-tblname="532978" data-tblv="47" id="led532978F20243101712770156889">increase</a> in volume shipped, partially offset by a <a data-tblloc="14x4" data-tblname="532978" data-tblv="47" id="led532978F20243101712770131955">6%</a> <a data-tblloc="14x5" data-tblname="532978" data-tblv="47" id="led532978F20243101712770138881">decrease</a> in selling prices due to 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="47" id="led532978F20243101712770175603">increased</a> <a data-tblloc="12x4" data-tblname="532978" data-tblv="47" id="led532978F20243101712770187361">22.0%</a> to <a data-tblloc="12x1" data-tblname="532978" data-tblv="47" id="led532978F20243101712770196269">$7.2</a>&nbsp;million, or <a data-tblloc="13x1" data-tblname="532979" data-tblv="47" id="led532979F20243101712770237984">19.1%</a> of Precast net sales, from <a data-tblloc="12x2" data-tblname="532978" data-tblv="47" id="led532978F20243101712770205602">$5.9</a>&nbsp;million, or <a data-tblloc="13x2" data-tblname="532979" data-tblv="47" id="led532979F20243101712770248381">17.7%</a> of Precast net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</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="47" id="led532000F20243101712770284782">$64</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393837728">31, 2025</a> compared to <a data-tblloc="9x7" data-tblname="532000" data-tblv="47" id="led532000F20243101712770291817">$61</a>&nbsp;million as of <a data-tblloc="9x1" data-tblname="531962" data-tblv="47" id="led531962F2025371744043139773">December</a>&nbsp;<a data-tblloc="11x1" data-tblname="531962" data-tblv="47" id="led531962F2025371744043169725">31, 2024</a> and <a data-tblloc="9x8" data-tblname="532000" data-tblv="47" id="led532000F20243101712770300974">$52</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393901272">31, 2024</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="47" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="47" id="led531962F20243171713393837728">31, 2025</a>, the Company had <a data-tblloc="7x6" data-tblname="531970" data-tblv="47" id="led531970F20243101712770373266">$25.5</a>&nbsp;million of outstanding revolving loan borrowings and additional borrowing capacity of approximately <a data-tblloc="7x6" data-tblname="531985" data-tblv="47" id="led531985F20243101712770403650">$98</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="47" id="led531976F20253181744996545348">Net cash provided by (used in) operating activities</a> was <a data-tblloc="2x1" data-tblname="531976" data-tblv="47" id="led531976F20243101712771872824">$4.8</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</a> compared to <a data-tblloc="2x2" data-tblname="531976" data-tblv="47" id="led531976F20243101712771880659">($26.1)</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</a> primarily due to a <a data-tblloc="10x3" data-tblname="531976" data-tblv="47" id="led531976F20253181744996662420">$31.1</a>&nbsp;million increase in cash from changes in working capital.</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="14x1" data-tblname="531976" data-tblv="47" id="led531976F20243101712772573332">$3.7</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</a> compared to <a data-tblloc="14x2" data-tblname="531976" data-tblv="47" id="led531976F20243101712772581054">$4.6</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712768460053">2024</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;">In April 2025, the Company repurchased approximately <a data-tblloc="10x4" data-tblname="532972" data-tblv="47" id="led532972F20253181744996430470">122,000</a> shares at an average price of <a data-tblloc="12x5" data-tblname="532972" data-tblv="47" id="led532972F20253181744996440380">$40.82</a> per share for a total purchase price of <a data-tblloc="11x5" data-tblname="532972" data-tblv="47" id="led532972F20253181744996447965">$5.0</a>&nbsp;million pursuant to a Rule&nbsp;10b5&#8209;1 trading plan.</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; text-align: justify;">&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="47" id="led531961F20243101712766348758">first</a> quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="47" id="led531961F20243101712766121022">2025</a> financial results will be held on <a data-tblloc="3x3" data-tblname="532975" data-tblv="47" id="led532975F2025371744043519882">Thursday</a>, <a data-tblloc="3x4" data-tblname="532975" data-tblv="47" id="led532975F2025371744043538891">May</a>&nbsp;<a data-tblloc="3x5" data-tblname="532975" data-tblv="47" id="led532975F2025371744043549547">1, 2025</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;15, 2025, 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: 13753058.</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 water transmission 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;&nbsp;bar-wrapped concrete cylinder pipe;&nbsp;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 trade policy (in particular with Canada and Mexico) and duties imposed on imports and exports and the related impacts on the Company, economic uncertainty and associated trends in macroeconomic conditions, including potential recession, inflation, and the state of the housing and commercial construction markets, 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 that produce accretive 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, and the impact on its customers and related demand for its products, adequacy of the Company&#8217;s insurance coverage, supply chain challenges, labor shortages, impact of geopolitical trends, changes, and events, including the ongoing military conflicts in Ukraine and the Middle East or tensions in the Taiwan Strait and South China Sea and the regional and global ramifications of these events, 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="47" id="led531962F20243171713394220281">2024</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 cellpadding="0pt" cellspacing="0pt" class="finTable" data-tbledgar="true" data-tblname="532971" data-tblv="47" style="font-size: 10pt; width: 100%; font-family: Calibri, Arial, sans-serif; text-indent: 0px;">

		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.D3" style="font-size: 10pt; padding-bottom: 1px; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td colspan="6" id=".amt.D3" style="text-align: center; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 19%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;"><b>Three Months Ended March 31,</b></p>
			</td>
			<td id=".trail.D3" style="font-size: 10pt; padding-bottom: 1px; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.D2" style="font-size: 10pt; padding-bottom: 1px; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;"><b>2025</b></p>
			</td>
			<td id=".trail.D2" style="font-size: 10pt; padding-bottom: 1px; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.D3" style="font-size: 10pt; padding-bottom: 1px; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;"><b>2024</b></p>
			</td>
			<td id=".trail.D3" style="font-size: 10pt; padding-bottom: 1px; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Net sales:</p>
			</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">78,446</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">80,007</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">37,669</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">33,208</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 18pt; font-family: Calibri, Arial, sans-serif;">Total net sales</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">116,115</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">113,215</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Cost of sales:</p>
			</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">66,272</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">65,765</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">30,478</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">27,316</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 18pt; font-family: Calibri, Arial, sans-serif;">Total cost of sales</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">96,750</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">93,081</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Gross profit:</p>
			</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">12,174</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">14,242</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">7,191</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">5,892</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 18pt; font-family: Calibri, Arial, sans-serif;">Total gross profit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">19,365</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">20,134</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Selling, general, and administrative expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">13,796</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">11,444</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 18pt; font-family: Calibri, Arial, sans-serif;">Operating income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">5,569</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">8,690</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Other income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">7</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">7</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Interest expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">(635</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">)</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">(1,474</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 18pt; font-family: Calibri, Arial, sans-serif;">Income before income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">4,941</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">7,223</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Income tax expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">977</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">1,985</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 18pt; font-family: Calibri, Arial, sans-serif;">Net income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">3,964</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">5,238</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Net income per share:</p>
			</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Basic</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">0.40</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">0.53</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Diluted</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">0.39</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">0.52</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; font-family: Calibri, Arial, sans-serif;">Shares used in per share calculations:</p>
			</td>
			<td id=".lead.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B2" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B2" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.B3" style="font-size: 10pt; width: 15%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".trail.B3" style="font-size: 10pt; width: 1%; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Basic</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">9,933</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">9,916</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-size: 10pt; width: 64%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; margin: 0pt; text-indent: 9pt; font-family: Calibri, Arial, sans-serif;">Diluted</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">10,117</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); font-family: Calibri, Arial, sans-serif;">10,045</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt; font-family: Calibri, Arial, sans-serif;">&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="47" 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, 2025</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, 2024</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;">5,285</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;">5,007</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;">60,104</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;">66,946</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;">104,965</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;">103,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;">&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;">80,684</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;">79,770</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);">6,234</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);">7,343</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;">257,272</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;">262,488</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;">150,811</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;">150,456</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,314</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;">87,747</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;">26,033</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;">27,041</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,300</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,417</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);">582,234</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);">589,653</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 portion of long-term 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;">2,994</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;">2,994</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;">24,682</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,783</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,042</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;">28,172</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;">9,304</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;">11,197</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,041</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,987</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;">64,063</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;">75,133</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;">25,533</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;">24,677</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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Long-term debt</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">10,728</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">11,476</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&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 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,511</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,744</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;">9,041</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;">8,297</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;">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);">9,902</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,323</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(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</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);">203,778</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%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">215,650</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%;">&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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Stockholders&#8217; equity:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Common stock</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">100</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">99</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Additional paid-in-capital</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">128,924</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">128,407</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Retained earnings</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">250,295</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">246,331</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&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%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Accumulated other comprehensive loss</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; 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; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(863</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; 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; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(834</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</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: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total 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);">378,456</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);">374,003</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);">582,234</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);">589,653</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="47" 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>2025</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>2024</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;">3,964</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;">5,238</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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&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: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">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,413</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,405</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: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">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,008</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%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Noncash operating lease expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">1,434</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">1,479</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&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;">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;">744</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;">(80</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: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">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,138</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,025</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: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">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;">326</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;">159</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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Changes in operating assets and liabilities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Trade and other receivables</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">6,652</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(4,965</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Contract assets, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(3,436</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(18,054</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Inventories</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(914</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(5,252</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Prepaid expenses and other assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">1,040</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">1,137</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Accounts payable</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(2,978</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(4,777</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Accrued and other liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(6,364</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(5,171</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</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;">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);">(1,179</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,241</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(255, 255, 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 27pt;">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);">4,848</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;">&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,089</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;">)</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 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(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;">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;">(3,670</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,570</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;">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);">-</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);">48</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 27pt;">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);">(3,670</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,522</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(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 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(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;">39,521</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;">64,664</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;">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;">(38,665</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;">(29,286</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%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Payments on other debt</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(750</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">-</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&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;">Payments on finance 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;">(386</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;">(381</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;">(620</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;">(320</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);">-</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%; 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.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</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: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">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);">(900</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;">)</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);">30,805</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%;">&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: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">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;">278</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;">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(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);">5,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; 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);">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; 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);">5,285</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);">4,262</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-20250430.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 4/28/2025 8:39:17 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/2024" 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/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:nwpx="http://www.nwpx.com/20250430" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.nwpx.com/20250430">
<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/2024" schemaLocation="https://xbrl.sec.gov/stpr/2024/stpr-2024.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/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/sic/2024" schemaLocation="https://xbrl.sec.gov/sic/2024/sic-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/currency/2024" schemaLocation="https://xbrl.sec.gov/currency/2024/currency-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/exch/2024" schemaLocation="https://xbrl.sec.gov/exch/2024/exch-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/cyd-8k-sub/2024" schemaLocation="https://xbrl.sec.gov/cyd/2024/cyd-8k-sub-2024.xsd"/>

<xsd:annotation>
<xsd:appinfo>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20250430_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-20250430_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-20250430_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/20250430/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-20250430_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 4/28/2025 8:39:17 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/20250430/role/statement-document-and-entity-information" xlink:href="nwpx-20250430.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:definitionLink xlink:role="http://www.nwpx.com/20250430/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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_EntityAddressAddressLine2" 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_EntityAddressCityOrTown" 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_EntityAddressStateOrProvince" 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_EntityAddressPostalZipCode" 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_CityAreaCode" 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_LocalPhoneNumber" 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_WrittenCommunications" 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_SolicitingMaterial" 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_PreCommencementTenderOffer" 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_PreCommencementIssuerTenderOffer" 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_Security12bTitle" 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_TradingSymbol" 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_SecurityExchangeName" 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_EntityEmergingGrowthCompany" 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_AmendmentFlag" xlink:type="arc"/>
<link:definitionArc order="23" 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-20250430_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 4/28/2025 8:39:17 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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressAddressLine2-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, Address Line Two</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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-20250430_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 4/28/2025 8:39:17 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/20250430/role/statement-document-and-entity-information" xlink:href="nwpx-20250430.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:presentationLink xlink:role="http://www.nwpx.com/20250430/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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_EntityAddressAddressLine2" 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_EntityAddressCityOrTown" 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_EntityAddressStateOrProvince" 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_EntityAddressPostalZipCode" 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_CityAreaCode" 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_LocalPhoneNumber" 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_WrittenCommunications" 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_SolicitingMaterial" 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_PreCommencementTenderOffer" 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_PreCommencementIssuerTenderOffer" 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_Security12bTitle" 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_TradingSymbol" 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_SecurityExchangeName" 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_EntityEmergingGrowthCompany" 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_AmendmentFlag" xlink:type="arc"/>
<link:presentationArc order="22" 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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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>Apr. 30, 2025</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">Apr. 30,  2025<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<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_EntityAddressAddressLine2', window );">Entity, Address, Address Line Two</a></td>
<td class="text">Suite&#160;100<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_EntityAddressCityOrTown', window );">Entity, Address, City or Town</a></td>
<td class="text">Vancouver<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_EntityAddressStateOrProvince', window );">Entity, Address, State or Province</a></td>
<td class="text">WA<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_EntityAddressPostalZipCode', window );">Entity, Address, Postal Zip Code</a></td>
<td class="text">98684<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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">360<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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">397-6250<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_WrittenCommunications', window );">Written Communications</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_SolicitingMaterial', window );">Soliciting Material</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_PreCommencementTenderOffer', window );">Pre-commencement 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_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer 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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">NWPX<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<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_EntityEmergingGrowthCompany', window );">Entity, Emerging Growth Company</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_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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_EntityAddressAddressLine2">
<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 2 such as Street or Suite number</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_EntityAddressAddressLine2</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> -Number 240<br> -Section 14a<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    ( &B"GEI&QTU(E0   ,T    0    9&]C4')O<',O87!P+GAM
M;$W/30O", P&X+]2=K>9BAZD#D0]BIZ\SRYUA;8I;83Z[^T$/VYY><@;HBZ)
M(B:VF$7Q+N1M,S+'#4#6(_H^R\JABJ'D>ZXQW8&,L1H/I!\> \.B;=> A3$,
M.,SBM[#IU"Y&9W7/ED)WLCI1)L/B6#0ZL2<?J]P<"A#G>B4^BQ-+.9<K!?^+
M4\L54Y[FRF_\9 6_![H74$L#!!0    ( &B"GEIAR>C][P   "L"   1
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
M@2";_-;;I/;=X Q\U*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F
M6/,,H68XWX=%FAHSU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1."CS<
M_N\-L,+$CN'MB[\!4$L#!!0    ( &B"GEKPM$W69 0  $,1   8    >&PO
M=V]R:W-H965T<R]S:&5E=#$N>&ULI9AK<^(V%(;_BL:=Z;0S2;#-/05F""&[
MS&Z(&^BFE^D'80O0Q)9<60ZAO[Y'-MALUQS3Z1=\DUX_/CIZC\1@)]5KLF5,
MD_<H%,G0VFH=WS8:B;]E$4UN9,P$/%E+%5$-EVK32&+%:)!UBL*&:]N=1D2Y
ML$:#[)ZG1@.9ZI +YBF2I%%$U?Z.A7(WM!SK>..9;[;:W&B,!C'=L 73O\2>
M@JM&H1+PB(F$2T$46P^ML7-[Y[9-AZS%%\YVR<DY,9^RDO+57,R"H64;(A8R
M7QL)"H<W-F%A:)2 XZ^#J%6\TW0\/3^J/V0?#Q^SH@F;R/"%!WH[M'H6"=B:
MIJ%^EKN/[/!!&: OPR3[);N\;:MM$3]-M(P.G8$@XB(_TO=#($XZN*TS'=Q#
M!S?CSE^44=Y334<#)7=$F=:@9DZR3\UZ QP79E066L%3#OWTZ%[Z*019D[$(
MR%1HKO=D)O+1AJ@-&AI>8IHV_(/@72[HGA$<Q^J&-.TKXMIN^^ON#6 K -T"
MT,WTFG6 )U3DC\_0BLPTBY(_JQ!SR5:UI$GTVR2F/AM:D,D)4V_,&GW_G=.Q
M?T* FP5P$U,?Y4&\(L]LPQ.M**#/:<2J,'&A^=/S\N/+=+$DWLR;DLG3HS>>
M_X80M@K"%BI\#.D56>[C2C"\?^_Z$T+1+BC:%U)X3'%ILB\@D,.50+A4D7-U
M2=<IV#H7C>%,^%+%4F59=T46&O"(5&0B4Z'5'HY!)2ZN_O2,('8+Q.Y%B \\
M9&2>1BNFJDAP$?O:[3HM&\'I%3B]BW"6])W, AA6ON9^/EG/P^&2_>:UW6YW
M^[T>PM<O^/H7\8V# *9\4IR0S$F>1.4PXI*N[9#YE'A4O1(OI']3<J^@PB"P
MCEVZLOT_<)<[66G,N.8BY9KE-N?8V)@[)\7#^6^8$U,_8((LY:ZZ=N!Z7RA,
MN/3MW]GR-5U9.1S4Y[^E*^:OI^0;%W[EH->(OHPQMK)(.)=5B8+-DXFF(?F=
MQV==I4:RW^OT6AA<61\<W."S41S#(N\\"B[0[*#Y598(!S?VS]*'F'A;*3"/
MJQ%I]KO7';>-$I6%P<&]^T5QK9F P$11*@X6EU12X4)K&B:H5Y2%P,%-?"%#
M[G/-Q88\0GXK3L-*'EREEJ>L! [NVYYBUSZ$A\$$RU9N2R8"ILC3>GUF_'"]
M6K*R!CBX8W]#-DN2%,AJ 7'9.D"WM'T7M^@EUU#-Y9HX[@^K'\F"^2GDV[YR
MB8LKF?R$VKO0TG_%T$JK=W%K7BH:F!1;[*.5K$RP&H'YB_<K1G*R(< =^!@5
M,GWWMU1LV-GU=8W0?+RX'_^,,95V[EYFY].(J8T)TP>0T%MC$S$5U0.(*]8F
M5>GF+F[&8TCU($OWAY!N*E%P@5J4TL]=W(J/89H C0)GG\&\>R>?6'6 <"W;
MMF$9XS1[E0O^QLF6V/R]\$C-N"0D9&M0LV^Z(*[R'7M^H66<[9)74L.>.SO=
M,@JV8!K \[64^GAA-M[%_R:C?P!02P,$%     @ :(*>6I^@&_"Q @  X@P
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
MU\7!ZQ^4ZD2HN7/08&<B+EA0BJN$7/D=<.I[.T!*1D.QD8E>I6.5Z*U .EK
M>MKBRAE#VQH%.JB]XY8:8P*IL0,@9^O1=#%-)IXPC,^[V?S!9@K(RDT*$3FQ
M!'_'G2/)W55D(TADIJ]X(;+U[/M!3EN#OI'-X_T,:3?D@6)8YL_X>\87_QO.
M\1'"[K\_L;S63AI_YHOA/UY_ 5!+ 0(4 Q0    ( &B"GEI&QTU(E0   ,T
M   0              "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%
M  @ :(*>6F')Z/WO    *P(  !$              ( !PP   &1O8U!R;W!S
M+V-O<F4N>&UL4$L! A0#%     @ :(*>6IE<G",0!@  G"<  !,
M     ( !X0$  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    " !H@IY:
M\+1-UF0$  !#$0  &               @($B"   >&PO=V]R:W-H965T<R]S
M:&5E=#$N>&UL4$L! A0#%     @ :(*>6I^@&_"Q @  X@P   T
M     ( !O P  'AL+W-T>6QE<RYX;6Q02P$"% ,4    " !H@IY:EXJ[',
M   3 @  "P              @ &8#P  7W)E;',O+G)E;'-02P$"% ,4
M" !H@IY:.JJBYT !   \ @  #P              @ &!$   >&PO=V]R:V)O
M;VLN>&UL4$L! A0#%     @ :(*>6B0>FZ*M    ^ $  !H
M ( ![A$  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @
M:(*>6F60>9(9 0  SP,  !,              ( !TQ(  %M#;VYT96YT7U1Y
><&5S72YX;6Q02P4&      D "0 ^ @  '10

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.25.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>23</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>0</UnitCount>
  <MyReports>
    <Report instance="nwpx20250203_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/20250430/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-20250430.xsd</File>
    <File>nwpx-20250430_def.xml</File>
    <File>nwpx-20250430_lab.xml</File>
    <File>nwpx-20250430_pre.xml</File>
    <File doctype="8-K" isOnlyDei="true" original="nwpx20250203_8k.htm">nwpx20250203_8k.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="23">http://xbrl.sec.gov/dei/2024</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": {
  "nwpx20250203_8k.htm": {
   "nsprefix": "nwpx",
   "nsuri": "http://www.nwpx.com/20250430",
   "dts": {
    "schema": {
     "local": [
      "nwpx-20250430.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/2024/country-2024.xsd",
      "https://xbrl.sec.gov/currency/2024/currency-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-8k-sub-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-cr-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/exch/2024/exch-2024.xsd",
      "https://xbrl.sec.gov/sic/2024/sic-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "definitionLink": {
     "local": [
      "nwpx-20250430_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "nwpx-20250430_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "nwpx-20250430_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "nwpx20250203_8k.htm"
     ]
    }
   },
   "keyStandard": 23,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2024": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 37,
   "unitCount": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2024": 23
   },
   "report": {
    "R1": {
     "role": "http://www.nwpx.com/20250430/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": "d20258K",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "nwpx20250203_8k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d20258K",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "nwpx20250203_8k.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "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/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.nwpx.com/20250430/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_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://www.nwpx.com/20250430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.nwpx.com/20250430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "cyd_MaterialCybersecurityIncidentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Abstract]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r7"
     ]
    },
    "cyd_MaterialCybersecurityIncidentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentAxis",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Axis]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r7"
     ]
    },
    "cyd_MaterialCybersecurityIncidentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentDomain",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Domain]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r7"
     ]
    },
    "cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Information Not Available or Undetermined [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r8"
     ]
    },
    "cyd_MaterialCybersecurityIncidentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentLineItems",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Material Impact or Reasonably Likely Material Impact [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "cyd_MaterialCybersecurityIncidentNatureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentNatureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Nature [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "cyd_MaterialCybersecurityIncidentScopeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentScopeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Scope [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "cyd_MaterialCybersecurityIncidentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentTable",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Table]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r7"
     ]
    },
    "cyd_MaterialCybersecurityIncidentTimingTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentTimingTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Timing [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://www.nwpx.com/20250430/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": [
      "r5"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://www.nwpx.com/20250430/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": [
      "r4"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.nwpx.com/20250430/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/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://www.nwpx.com/20250430/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": [
      "r10"
     ]
    }
   }
  }
 },
 "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": "14a",
   "Subsection": "12"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 6-K",
   "Section": "General Instruction",
   "Subsection": "B"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05",
   "Subsection": "Instruction",
   "Paragraph": "2"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05",
   "Subsection": "a"
  },
  "r10": {
   "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-25-013862-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-25-013862-xbrl.zip
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
MVTM<S>Q3;PBP&+L/P I2E.Q/8.^< $!CF/A#(]0GL&\)ZKT *J!J"FCB)"#
M\&UB9B20$"$(@Y'Q@"^"]S)8W)( .):N1YS74M?3PS@N:%X/R[?S6J_J8:UI
M)E&5)FCXH(C]:K6.<_QF,.\A?:2P%I&<),=UE]\)^]5.V#.=4'4+/H(V:!Z;
M?'./HT5B:V;A<TA#%LV$:O<#H"SG2^H_NF'@(\629Y SGV@&-("A85 D3,<#
MT^P"B ,_A,$C-T*QR2B?U8^E;XD9F5P',=S;MF+PC%28@*/T$ 9/. 2?RZ/Q
M1$'W^& P_":.<7"LYS$HE<P<)G[ E 60W '\B/NG[#HPGI!+.7()IC\KFQ#C
M,K()U%+$F=2UG.H#3#1XM!J5-7X9HO,/D!NY)G0IB]DAP \D"E"/C+S@J1L\
M 8O$"+6,!2+R)/5!KL'SB3HY!D>\-78!:AD\(G)'6?7P94J3Y)H7LIT?^$>I
MWH<^&2 >=^0@MD1]=\@4IEE%"UU!00@$S",K-!CEP:&JEH*'FM*TP)0]_56W
MCJW7\=#OY@"B6@3+RR$B+,&6#C.KVL=J#B+"E[^9[)94_1^L)ZJA@!2.7*2/
MZ\<)KC$;4D[U3X!+[P6H^D@3*$.O+7)'T)4\I#%R 1=!"1\=49])\W02F"S'
M_1\)U@+-4UW6V,O)#-]40#)9^7LYLC0:YC1KE]%LTX1O +MZ7HB)+'5#)G%
MBCP )5&%F$ PLQYFV#T1XL?2GV/T1I:>%BVHL3#BSN,W=[.CAN/Z"5BSJ2-Y
M(@JE$<)#PI@S<HH%#C.)ES:3RD-H@CW6&<4%(I'UGX!)Y<',,[9#4P@?)*D(
MF>D*=@%[Z!' A;&EA,95ZC'$.4I=R86;!DP+!)44+%W&AB'M>4#$B%,1S4[Z
MX#H2?0R\$8,4-G2$[T2Z<VLU^^:C7N",<#\J2IYAZEYBL:46,S-!I?8 EH9#
M]E@B+A(YT3D5D9Z[/<OK1,V<P0(! =]%)6 <5U$C\NQG=&RNE[AN>\^5!W6M
M&K>V)G4GT;P;":IM&3;H?O96@FI;)B"BH6:":G,TNE("E*$E6\4XSZ( 9>:!
MG6\Z/\1TR:95R]14UK1^K.7J]'795M"+B+U4FRVCJ2BFSD0=TY^/-QX&MQ.(
MM6RTS)J#^LYT2="E>VZ<X[TK RO 8&GAJNK2U[ B=V]X^;8LW<(C!OIQJQ K
M<HW?Y5MJ*4T-@[K ^LVS_X)Y%7$-JWO2L*T:IHEK%2#*XF.$->JG>"_G@Y1>
M#DC9@) &B_[-@<>",><TO/R83;.I 0NI5CJOTV,6Z"C0<5-J5'*\!/?3YK?
MRD 2"Q +PZ1^-7+"0]FBVM"YEE9+@15MO':N14;/SI#@-G'N%F 9J&*!=&#>
M3#-'\2D<?[YD6G+\:K/5U''\IE8T_L.#EFPH:]=]3(_ATZ[++@/>$"^B29-D
M./1>XN!+8YA>&,7!T?#!'PV^-*(8QI)<[[K1T",O['K:7UR(?!@SQY0SOZ,5
M!D_@>6Q^$=Z0K'B27!F&M.<^?VDD7UFK4^U$HU[V!@0%A@E?&NR$^P2\8+A5
M1U9->0X8^3T215\:-]^__I[O&>#/'^%I\L043:ZPP;%+F,!@ZEW?[F_'+\L[
M:IUI8.;9?N\H#)[F+Z(/0[KY?O7SQV2>.NCO4 MF:3PG.=U8*/' [-%V=@**
MS>#TGW>?^V-1>=/^?G'T]?:B_?M1^]O]Q>TGB7A/Y"4Z2=PS.%4^G1K_B92<
M$9&TX?,)K 8/\T+\HK!_^ FEAQ#C$8ZF?YJC^6_G^33G:0!6I/C]]=D?KO_W
M# L7T&&3WE@V"N:.>^/TUUUZ7N7NYN;#MMUU!^&9JYO2M@OG1-=4%#$:QB_T
MN15%(R^PZYN1V[9F6&IK)3MZ^;9TT\:VM&-E.3MZ^98,0]>-PMB>Q:W9Y5O&
M[5OT]K64O'-9^Z_XI5O%'3R?DG,&I 1&LA5%;:G0IIK8[?.ME+ T;$556F;&
MQ<2:P@G$K5-^%@>D$8]J'8?2\J-A+)8*;N'GO5P,&99YL"Z+3 EZO0C6-9(H
MYTAU*1325!O[KBGY%,HU=59HI648S8G#/J50! (.*3(,78?%62#-I.Z(3@[/
MI13" TT8ZKUY5T3=!-B6O0XH3!Y>\\L:Y;!$4S',-^6)40Z3-UMLOT@UTN#)
M'(&2NV6_?%.6U5(5=,QJ1?Z$$@-$,PUKBJVS<*AQ@"A ^91B4."<-<H09[8*
M2]S6<=S&XN,NPSFK::K!(#[KG)T9]P$(4T#0 8^M3]!SO*XD#/T9\)@I :F5
M06H:_Y_GR2TE.XJMF::A-XNRHY#<U%KE'+5MZ8J!N4:V<M2VI5N6UIH^:ONJ
MG[CY;)5!W98)=$7JJ@M3-Q?9%QOPY!RHJMN6!0V?4X>B3ZN8OOGQO4NWU[0M
MS1S3E\,+@L<\75LET%6';_P(CFENF6MM0U%:;W)MT3;+<HV!D:#A$LE2]5CZ
M^O:AH/R=GS+P0M<T'2-;<@\_'3!>6*7@A8Z,C=2%2P(O.%U+P0O=MA5,XZCK
M.8</]ALO%LGZ,N4BGU)17LU"/>\=WEHD]<1WOUSJJ;$K/WE,N/,/074_ '?^
M]!#G%W3AGN2K;TT75_%&06&^L65< 9:B@/A!V_3UZ%QH;'W7#C36:BI- \Q_
M_=@H=.VL<_ MVY9MZ'KQP;=<[PHTO;Y[Q5)41;=-BTF]PXS/S>X6Y)TH+(.7
M5,-6T,33U'Q?N%K&3AHT8S9;V>CUU!F>^&GPS.<0S\XNM@V@EN$BA4[!))C
MV\V"H9?A],566JV6.K]3,K4/$+VY 2 2EVY##*4"X]7- #7W1,?RC&&93>5M
MF9%[I&/YQEJ6WL0C':_M+ZM%20*7; M4^R::*]:B;O%UCD=G&M9TRVX9V>/1
M -9S.D#!GH":>ZQDZ<%K"LRJQF(KYST,18-??U, &C9:.N*,:F6BU',&?P!R
M<VYC0.P!5(JFP3A!=*YKKXQ$SQ9NMUNMHD3/A^O9LTOP[ %Q;;6ELLP+.8?T
M#M&Q9Y?@V+,4'>PKB^6ISC%PA%]OM_)8ONGLZYQ^)1Y+4777IS3)>$BBOO3-
M"YY$/:D#D+\'X,AK[[.DE9GJG":KZ9.\#9\<74:UK5?D OXZ*Q<L74LVB(]S
M=HA9XIPXBL?Y;QX#CV7F\0*"6=_",'ABR:A9XAM8PYC1AGB37R2'X%*.T<W"
M<^P_@\8<8_:B!0?4>O7$6<N<&9"AZ$T30\3LUOQP6%531MG)2, DAFZ/LS0*
M57W#RW8^QX*2R\>O'O>SFER;4ED=#MMNFH8)!B$_U>F@I&,II+H\S^9[EG#)
M]3](P1"366:RCKHT8II7GK508#,NTK,)0ZHM6-OL,+EQG,.1-;*1-Y3EZ#63
MH2"_QK(4;BE-3 SP_E>M>:Q^J#61M^:(R/%E*WG5 )9>:<VF9F@*"[W(RZ,R
MSI4+1&<+<38>_RG@J0-!,+@Q\03>;AAOSSB=6?X_D.(Q2TW\1,/Y]: 6Y%5;
M;CEJIJ7KF,3P5[T@@65=UF(%@*?FQH,O3^*6JIA<IC1K3>(M9LP0&%#<W&6V
M[MBT:1%F2J2]KI^#_,C?'UJH8-I8?AAH6H'\4#5-5A06O<?S,;"$Z5@I 2B
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
M:("0PC;6DH4[1AT^%.96FEL,@?\0,',;N8:$+\SU!=#$-:J??X<$;;V4%#\
MP$$>7?"CDJ"4^5'*I_CS/7&?B,^,/)<;L7<@<P'10($BH.&0##P]<-C$"P]>
MT$$6 M4Q(P)Z23'MM-^3T&N@+DC%093NX,W2=-K<R'#Q9.@]-Z0,[8=>$$V0
MC.\")K7#.=EZ(-6[R7I@-><!\6'&/'2EHQH0,CV)RP]\\F]</G1,DOGY3I8^
M"U((/!Y6D%U'B.,ITR,O918T[E)V$9NY!C!I;6H%0'O CJZ#XQNZZ4>8+M[_
MX:@#\XNVG =3 V\$(Q_:3MF$W\1UKF2W@*LZ>:-I^_Z(E9_%3N,* 2MED$85
M)4[#W]FJP*=9C7:FP4KI*4E^+QY<6;02VU)'8PQ0\34\:CYU0I)K/5@,'GVW
M+J].C:3F8\]HXFRO-]7&S]!,YFZAGNN-3ZWP&4/?QANZ8#2$^4+'\TMR8!)I
MPG:<N2G/ Q1>F$J+VO0$@<:;W@'E@0;,/1&3OW%EOF0"87! HR%[)_Y0V!G.
M3*P6=;*^F,KEA@X6T$$XRCJDNV.![8XMJV/ILC??MZ1M?%< ]@A#3?:5V>K%
MM,'5QYWWF946(=*A/HLC1K\54T/3* WF&Q\P$DR.#?'VHTP'>(%L7C:<U9#'
M3H/T"O">Z>M!,O_%W=SJYOX>[N/KV]O'U\4^?N7E?CJG5X%_]+W=OLF4*O_!
MPVT.V6LUXU5%YP):"0 UG3<SSJ)?PT4AD!!VHCDD<4S\C<G9-;8#$B..4[YM
MF0NS& ^,6D1^6$"J(4[TKU1?3FT:%%CPY(#C*5.2X2I8"-RIP3J<0'F'[:U&
MT#GT(!.NZJ8BB0L\1'O\H0/DBD<\'HNI+W OS 3J$H$\/^X(-U_1BDX\,^CD
M#KM,LV;=0FI5B=];6'#?<ISB\FMN]!VGQR)M\IBA&'3C3]M'G#8)02?[T_5
MCXBVVS287+27@=UK=)%B5I)M=J)H)WRK## )#(G^<YK]]Y_[K[<\X56,L=WM
M!CFQ0UOG,N"MY_\$6R0X'/;ZY9=?-MU@GD52A94T;\P8JQLS\ZEHEK!LC-VU
M9?(,D]43^JS.:EDRE)C09_;D92>(XV P;L[$),CUR<'S]LI" ^[Z]OZW/R_N
M[J6;RYL+Z>SZQTW[ZG^D]M6Y=/?SZ]WE^67[]O+B;JQ:;2CQZQY2]NSZZOSB
MZN[B'(AZ=7?]Q^5Y^QZ^W-W#GQ\75_=WTO4WZ?KFXK9]?PDW" HO1^'W/WT"
M%C08@Q\$V98@VR4Z^H,1O+R;[(8/X\RQ9KX+%Q71=,&:%ZNER,_) C<M*; ,
M_+2L8%>XH.JY_CT^,]D^H-T' @(G#D<T-S!^_MA!=EJ*Y,GBJ>78;& ,IL]T
MCN>L*)IT^C<>#SMN?%XPAP^=]YJ)L=_)_WTXD?+Y<HY]BT;27(YK<W(>X*;,
M,<;R'I_KQ81+YNZ(=R\Y29U2<]TN 'F $_POC2;?(SHF@SC;F[S54.!SR>J*
M7%')=ADC3-TNFP=%EO!_'R:CL-==_T7+&A51#)B<+.^I7RF)8'01?"ZX@7@\
M?(5&!3>DT;E%#0R"O]P"O^?B P9)>,].06" 7A\/]:+?DJ7-DW15SA-[$_["
M?6:O$@;+RI!]6JM:U6M5RZY5;<MK52S5-Y8J/_.UP)*LBH_J)':T*L6.8.6W
M6=G8!>GRNBA1#) B>JL:47)P;'.5UJ;X5,PU#'R^OH)_I4)=]#+H;*\U1+)%
M&C-+:8VOOZT-CD_<*ZM] Q.WK=;8Q"W06*D3M]G!+8Z1E:K;>X*14[X*>SG4
M?#U/TQM(JLUMX;RY9;+Z>ERLL7G=;/'F?\U?F_,-XTI<) QNG<Y8+=DPFD7K
M%_KD!WAL.'61;9@TK^*RODTV6*RQ#;#!?,/;8(.6(BN*5<0&>J5L(#3A74'Y
MI;*EE0+ZN=;75B7!@C9Y.?I;F3*B]([KEMQLVIL5)1N:[R7DRR8Y;K$>;)7C
MRA1'Y7.<+FM*:[-2J]3Y%@9+9:)LV>SJ]RQM][@2J9!6>R:M5+4IJZHIQ)40
M5]MC.9!7Q2RWT_*J4M/K=7>N\,,+/[SPPPL__+ZHM8L/^"R(>+84L5\I<%+@
MY [AI/!DB_W*,NW^^AGTB_>HV90U2Q-;E*N9W_6SJY>8>5.VFANVEX7.N^]8
M+G8E#]G/JRNR817N$0DWKW#SEMUQS9)UM3"D2GAYA2A;=U?2R?IUA,3:,XEE
M-V7+5(3$$A)K:QRGRTI+W4N)5=]SML+?+OSMPM\N_.U[H]@N/N#OK K3, QZ
M;BRV)05,"IC<$9@4KFRQ+2FV)9-H3DU6+4-L2Q[>MJ1JR)I1N"&]*]N20N45
MVY+"R5N5R\V25;O0XR9\O,+'6W;'3;EE;UAF':*+=Q\%V6J;D@\9IXX05WLF
MKE1;UHLC\82\$O*J]"@:15;U0O-ZIP66."LIG.W"V2Z<[4*OK=&>Y!WUL)ZS
M+#U0GX;X,ZLXWQVXOAO%6/7RD6*M<.I'Y3C:A7I;'V5#U67+WG 61*'>"O4V
MFPM$-@RAW@JYM0%_S/6X2K/K.\% [ MO=7?0E,U-9T$4V\)UW!9NR4V[,&Q_
M5W:%A=&Q3:/C.N[34*!T!8NU,->U0.C]16B1X%R@\Q(#OL3"7#2*A=NG'NA>
M>L??-_5Z[VE^$/Z>/?'WO%=EHSA:N!;^G@_"6M@Y5\\E,QVD#NT%(4T,"2DF
MSR6E!1#FQ((],F3;V' XIS I:FE2R)JF"[-"P/C2F TH+0R+>N!\^0DUK W[
ME\1FLC N,IO)LMW:S[(2PL"HV,# <M>[NC_QYLK38>5U@U''HRLOO2T4<RV_
MT[IL-TL]N3R+#CJBPR&9,!6RV@8E4PF=-F4P+,H431MFM1TQFD04OXCB%U'\
M(HK_,#385=15:4AA:OHDI"+#F(!+ 9<[ I?"%5VRP;]D5IJOT&E'F/I[8^HK
MQT:IJ<2%I2\L_2).,TO="*V-H2\T^&I%TKGKC6+:%4)ICX227NH)*2&4A% J
M%$JE)CVKC5 2WF?A3A'N%.%.$;IKC;S/=^ANCJ111($;_(D'6@*2.R./8 <B
MX8X6^"GP<T?P4[BCA3MZ_4CH$@R9BD*A2^BY+=MZH6-06/OK!SYOF+OJ;> #
M=Y5;:[DV%KY0W87;60B?-7NN*K*JEGH61T@?(7VR[*48I9Z\V8[X>0=_"0S\
M]-V[&91?X)T%_)?@<3X23_HQQ#:[[J/D>"2*OC1NOG_]?8XRBO*/O%$G5]B,
MLTL@J*;?]>W^=ORR+),X%'.Y3(Q':&#FV7[O* R>YB\ZU/.DF^]7/W\TI"Z)
M"8J[#@V_-,SD^S"D/??Y2R/Y&HUZR=><;A3QZA3I[]T!C:0K^B3=!@/B8Q#]
MYX_0*>C:U)]WG_MC'>*F_?WBZ.OM1?OWH_:W^XO;3Q+QGLA+E#(]SHI/I\9_
M(O4I)Z2&/):H'K\H[!]X;DXK27Z:H_EOY_DTQXE;F>+WUV=_N/[?$[[)(<"8
M#HR7DY%^:2@-"5^1K*3Q]VA(G/%WWEC/]>_QT7S^6QEFI]4.!:B+"M6TTI>O
MSBVMH@'@P.S T/POC59C[96<J_AM"!*DG/79./W<.;VZOKW_[<^+NWOIYO+F
M0CJ[_G'3OOH?J7UU+MW]_'IW>7[9OKV\N/O\L7-:K)QQ!#[7RZ#)FQJ\F,S"
MR3R[OCJ_N+J[.(=YO+J[_N/RO'T/7[ZV_VA?G5U(=[]=7-R+J:S_5+[_Z9-1
MUP6#Z(.8J7K/U*4OQ?U@!"_O1E5.5JZ2.;^SMIXA,RQ'_C/5+8:/W0<2INIZ
M>M$G ^BYJ6NV94RN/GYI&-8JFL,__S4*XI-D=/S+TEK$9 "_@9D(PQIWI'QO
MTDK<FW$[O6'BGFOK<V!F4RBWM?$*A[;&IF6FX3Q38?7.K)SQ(3N*5V!D409:
M$%+R!C]MNX$<_T%"IR_I*C"0HID+">PRYC4W[<0;DYUAK1+ ;376T@5K+<Q:
MY]2A:%*GW&5L2QU<EKNVLFV\/MIN;WKGIK(=132.7I^_W""73:S,XB"7C;66
M%^2R5F/F:ZWE![FL/3B8Q[1%G,>%8ETV/'_;:BTOUF7C\U?VX'+G;RO[CCN*
M7>/_;(9C9Z,P!%DE$09FRX;K"22K#Y(M%:XG(*P^$";TKJ6QBR5V _ B49]5
MKG3P _W7R'TD'J#9ZOF@UQW#RC$-:Q-OSE@JZ;A<.98;RXU5G+9QT=B$35!I
MQ9"$#7/*YAI>@E.6BT<HCU,49>WB-9OG%*%D+@[4]R'I4H;4 2L"%E*' E9W
M/!K)DD_CP\/K,N/,REIX3456E;5390J,WC1W5 /+S:9L&VM'']<)EX4"?08/
MA,1)S7\!PW6 8<!@V6X*75G@< %[Z+*AK9WHH4Y +!3D2_^1^G$0NFO4LA(@
M7.(J:RERLR5T88'!N7-@V;)EK5W^O$X0+'3AFY .B=M-RU1%$W=%98B<&[-1
MG8MYL>B;^J'YPAUORII>0\Q?D@TV+ A68<H-]J8,IJQ"B"S<<4O6C;5SC5;$
ME,($6$#^:!;WD0<Q\21G*AY#V +52X_&J69:LF856MS"&#AL8T!K:K+16KON
MD[ &:H'&=F(,!$,8] LS C"P9#@ 5!9[E;7!9-54Y):Z=A5R@<G[B<G('H:Y
M5[N5!ZPA<TR^!D0F,9@<$JRDB'*^.0IZ1R/X(O3E^F!SJRGK:@W]* *:ZP#-
M+4NVC+V*[SMX;?E[$'2?7,\3\%L'^ 4=P11A? )^5^&.783?@U>,+_V8^ \N
MI@7A:K#P4]0&C+6FK*R?$5J \7Z"L6;)BE'HQ-I%,#YX7?B:'7"IV!TA D>V
M'3BB*VM7GA6!(R)PI%RF-(JS@8O D=T7.%.!(X?J %\]]7FM#L@OWFFSI=4B
M3'&QY.V'9V=L@"'K(&9>8TA;;JY?#KTBAMP1TV:I*K0;SNXCTC*5,#B1EJGD
MB:M+6J;#4TA/6!J^/US2<3TW=I.C,W=QX/S=#SP0(M$_?VEIJG4B7?QKY,8O
M(F7F3B.:2)FYV\"V9LK,@_?PIBDSO0G@B;R9NPMG0D';41P3"MK2 ):F_4D0
M;!B$6&M4"GJ2%X#E'--P('5IYP!C!VJ?/U.3;;MZIY_P[ZV?/[-,)]T\U[W!
M*2*F8!<!N^TX0)4XDH;D!;-F'AX^UR\X !::(3=;XEAP#3!YE5WZC<.P)5NM
MZG=%1*!MN3@,D]7-FOX"BFL!Q9JL& **!13G0W%+5HOS=^PB% N5>)RZ6&!Q
MS;#8EG5Q_$Q <3X4JZJLVC6,2A5:<:GNY& F5T,=0%H<BMAN_+GYVMDF<2AB
M=:;<R4,1FQ4L"W?<D.U6#<5/R8<B#M@\R,VF60?Q(VR$;#$A0U::XECTCAH)
M&T^O;\IJ\:%Y823L%"#SH+FO01@&3R#A(@DL!,_U*9H)3DB[[@%&F]01DC53
M-D6F"@')Q7O=5@T5YYW4D5-M'X:0P<Q9H"X"TP(P7J!3C=,_ZA'F5T2 JGPQ
M2W9G2R!=T"M5D2VM,-WXML__+DJS+?E1EN*H^G1G2\!>Q%&J;%C5)TM>B&9"
MYUY8YYY-F"R\(#53N5N&;(H<]KNJ<F]ZJ[1ERI8A KGW"9'/:8^&(86)])U@
M0*68/ LLK@<6V_7<K1107 LHEC41M+)72,S3=$Y./9:I&Z]BDI4;E+)4#_8^
M$,66;:6TV/ U^[R1X)--,US)/=C[(!-5D76MM/W++7"<4.&7C2P1\F)_Y86F
MZ+)EE>9A%Q*C%BQ7AR2:Q2RGFG+3+$PAOM,BHU);0^3-%&F9UIXXD99IY<'M
MA&9973Q&7I),RI)D;CFEW$K[YQ7W81,XMVP?-H)^*\56E+R05V.(:ONP"?Q<
MD2&J(,1.J&2K8RT[;;@.V)X%@T'@0Q. N2+T;3=#WZJOLB3BWO8F[LVV*]_3
M*QG8=U*)7AO8V] PGCPG'G3"[1ZY_I%#AFY,JJM(+6!^'9C76K*M59]#1$#]
MWD ]LI2A5!_#(13Y$O#^EL;$]6E7HB3T\4RA@/E=A'G-5&3--@7,"Y@OC:6,
MIJSKU5?4WC^U_B@.A@CCSY,K;!)GKJ6[B,^9<;/=PVV8 8XS&HP\$H-D"%A\
MGQ,,AB'M4S]R'ZGD!5$UP1J,!NP_=9XPVPS=*&4N=R4 9+N#?=\J+Y])Z3SV
M8:N!(JNS^X8"5ZIG]^U)Q*VQ>W$)XHU&JRS%[CMA2+T:U[C42]F%Y6,9H\)-
MZ,KM*I&K<3OQ9[K5D@VS\ BXR-:XR5#(&F9KK U;&K*BU# 3F(BJWW14/:LA
M7$/)5*,*=;/+2(=EU U&'8_.KJ,:5;);O--F2Y.U8BUSV^[!;(_%0=W-,&0=
MA-%K#&G+3;-Z:;0:0R;2Z!W\Q1)RI^_>;<7DR/1CB&UVW4?)\4@4?6G<?/_Z
M^QR5%.4?>9.47!F;LC'(K>EW7?W\T9"Z)"9'_FC0H>&71C/Y/@QISWW^TDB^
M1J->\C5I.H>_IGKSNDORWAV M+JB3])M," ^)K?]_!%ZAH/MCP7_3?O[Q='7
MVXOV[T?M;_<7MY\DXCV1ERAE/Z2=3V<:[E,^7 TG.-$7?E'8/_#<G"J1_#1'
MF=_.;W/'BN2=:G$R5:S_XV$PADDZ^J6A-"2'>E["A>/OT9 XZ??20A^1#*BA
M3&M1B[N$9S2F?,5JW)RI'QM+."<V;;AGY\JA?DS#V97UN7-Z=7U[_]N?%W?W
MTLWES85T=OWCIGWU/U+[ZERZ^_GU[O+\LGU[>7'':[U/ZTPY^JF@[(2R9]=7
MYQ=7=Q?G0-2KN^L_+L_;]_#E[A[^_+BXNK^3KK])9^V[WZ1O?US_*2B\)(7?
M__3)J.O&M/M!D&T)LEWZ4MP/1O#R;E1$N5PAGWW/.MML4^)\:=&02*6>Z]_C
MHXE,CN%C]X&$J>J47O3) 'INZIIM-2=7'[\T#"M?<WA]7(NJ7&P:7+]+_7BR
M?YDPY&0 OX%B#\-JO&'<U_?\X_D6#K8!)6#Z?::-C?7\3,-Y'+]]5]-X%/9V
M/2(+":+[?DBI] ->T(^D"^#*KO2#A$Y?TE4Y3^K,&B:E3'.>PVO!<W_[M&*V
M<,QUO&*T[(K1ZKIB:KA@-$4S%UH89<SFD@NC2@C6=@*"Z\E0QBX@K=AEF',^
MG9&H+_6\X"F2>F$PR%0F)$[L/K*]ABV?M19Y(D2>")$G8@>//%2]5\I35U[1
M.,D?+#9!XWIM;C9.==EN5K]E*78GE^&4:BHJF3+H8I7O)>Y'=O?J$OBTNW^-
MHG@ AD,DQ8$44B?P'=>CDC]&:;R.WQS41(=A\.BB!Z?S(KT?12P5_(<Z**4B
M = GD0!()  JC2%$ J :A;NSHV58?F,( .T2S!7!X@M[KD]\AR;UD<@@ #+\
M+_OY\%3K^D6OHS9MJ*(D:0VTZ?K%D#/F4 H/CPL%>E= N9U!7:P)[?HQ\1]<
M#"L@441C41^I%E"LRHI2?=%1 <6UA.)7F6,7H;@&>75V(.'"5> SIT8P4VB4
M/@^I'ZWOGM[^^><=3,=0N; H:12J;)1WV*=.T[#)DAR;9/;=ZO(N95E@S&Z5
MEGRT^FD0-LY;CB=1][6F=LTK)9:%57/85LW[5FD%F<ID#9'=9D'4O>N3D!YU
M".ZR8B8XL$FXEZDL^T0 <"F^ [4X#D) \&%#L"JS4/[Z@;#0?Y=!8E9M6\8H
M&(&Y=<!<7:MAJB^!N+5 7+/ZHBC[Y<C??E#B69_X#S227#\;6<@V4UG82R;-
MEH@R%%&&(LI01!EN),IP)R/"U]X5O0])ES*<Y4GH0^I0]Q&378@Z)2MVI]HZ
M)4VY:6J5Z\NB2DG)#%5=E9+WAFPWJW=K%/1NM_S+E=:3]6'&G#A1K:OU;PB$
M7V=!ZK*A5^\2>6M!"G3?"7176[)BEE8=HP;P?IAZ_*7_2/TX"%VAM^\HJMMJ
M];$= M/W M--62NV 7<0T@]38[\)*18(3P- HHR7IN*S1@+HU^B5*BM&8:A6
MU4@O'#2[!_<8D[1WM<(/4XMO.PY0(HZ@"R_H@Q<(OXL(_UZ3;:OZ*$&AS.\#
MNK\W9,NJ+;P+97YQ9(?YZ69T^$Q<BX#YG83YIJS7('VB@/F]@'E35BUUCV#^
M0&/'9Y(+U GD17GJM:*-%Z\V#P9Y\7GIVE6GKDY0B,+46V-(S:A>MBS-D#MA
M4U0A;)(RU%?+Y^D]O!--^R]O#+EE5.]M6G1U']JQJ0,0+UI35EK5'\3*+454
M3DJ"2HV9UT^XB&H_BYY:$=5^MC5QHMI/O=30E2'U394TIV:9ZS_22-0L$R@F
M4&PW4:RNGMO-H=A,S;*;4>CT"4;<!3VTK<&.CE_8SAW]U\@=8OV<P[.CZV<@
MLY,P3:OZ6+K7;(S]-W#K9[FRH FSF#%$/KS=PF.6D"E7KQ1[:@?BXSRJ'\C7
MR[\I]M2V['2O806)A7A@]^V +6VJ)?MH]9([0L1L;ANCIL9$;<(VA#39'.^!
MO:)5?V)S7R,TQ Z:\#T+W[/P/=?1UY&S@\8+_8H=-(%B L5V$L4.WF/[-0C#
MX D0+)("7_)<G^)6FA/2KBNVSFI@%#=.=1LLCL*8<)%7_[#WSYJ&W"P^VKB+
MJ?4/3[&<@>1;.B0O&+H@(+FFD/P>V+-9G&E7A#,<+!R_UVQ9:Q6F?!7Q#)M/
M +%NE9.;#/CR_ ]=VA$)F%?L3L6)'RRS^GTBD?9A'](^%,:U5)WQ0>C9JP8/
M9X">.W)IC7)!"(5[6N&N/HV^T+9KIVWKK1HF2]@U5;L>:'Q/GJ%3<;\?>%WF
MC@ZI1V+:E>( "Z!($5;=EB(:QQY-8+O'3GG@@8\G$G8%5-<#JIM:]2JW@.KZ
M074Q6^P85!^\XGQ+A\FY.^:8#@8#T*"C.'#^7AN"5['4RCW9L50/]C[4MK33
M'&OV=R,G.#;-;"7W8/]C:W6Y99466[L1CMLCS7Y+AS/R,Y[E!<X=GOZ^__+C
MO:U4;PTLG6YJ_TV$_1<FNB*WE.J+X>[UT3]Q6D/$.8LX9Q'G7%<E]*Q/_ >*
M1X.9*HIY@=@'=!L_$@^]R(>G=-9/FVR<:C4HPB0"G&NH[C5.55M$-^^T\S@]
M-I>'OK+4H7"?CXX S. &;03=RD/M1*J@[9AHIJPHA?72:I?&0:0+.@B_@2$K
MS?W/&%17>Z J,42QV%_E J@Z6?/F>M%AO72#4<>CLPOFU_I*GN).F[+6JO[\
MSNR:U@L<TX=FAVR '>L@<XH[;<A:L_JD0JNQ8R)TWL%?+(1]^NY=[OF<(LQ>
MZ$Q.VN(0W]YU'R7'(U'TI?%'^^[^Z*;]_>+HZ^U%^W<0+=E?;[Y_N[^=N=;O
M'87!T_Q%AWJ>=//]ZN>/AM0E,3GR1X,.#;\TK.3[,*0]]_E+(_D:C7K)UV2H
M1:Q4..![=T CZ8H^2;?!@/@P2M"%H5/0M;P_,/"/G:#[<OKY8S\>>*?_'U!+
M P04    " !H@IY:B>)L;X(#   9#@  $0   &YW<'@M,C R-3 T,S N>'-D
MS5=-;]LX$+T7V/_ ZDY3LI-N;,0IBLUN82#9%DT*]%;0(FT3E4@M2=7VO^^0
M^K"8R(GL0[$G4YPW,V^&P^'X^OTNS]!/KHU0<AXEHSA"7*:*";F>1U\?\(>'
MOQ:+"!E+):.9DGP>216]O_GCS?5;C#]RR36UG*'E'CUN2LFXOE4Y1Y^5MC1#
M&%V0\149Q^-+=#6;3&?)G^CS/<9.?6?8S*0;GE,$'*29[98Z$_-H8VTQ(V2[
MW8[<SDCI-1B()T1(QR+E48,W+$!O)PTV(=_N[QZ\[1:<"?FC#YY,IU/BI0W4
MV$*W2$_!\'2T5C^)D[A@+AKH,Z,A8R=>4M,R9E9CNR^XZ=<!,7%BYR+&<8+'
M2=3)#;,AJ]K-):F$K1,N^MF#(""?JE):O>\'U\) P8CT2%Y$&EHNM88J.F:Z
ME@8J?)=N^N%.$EK?LR.&]RP RFVQ"S+M-D:IRGU!QA<3*'9JK1;+TO)_E,YO
M^8J6&:2YE/^5-!,KP1G<AXSG7-H T!%;JM?<_DMS;@J:\E<<-I4O\@*N")*]
M:L?JOKHN=RJEUE_7HRKN"S=ZV&WA9(PGR0A<1^1D#E.B5<:)Y&MWUX?QR+0.
MM!R+J6.1O!O(XMC5Z_-NCN+]"KO5.<'W7LEC!%[3]-_FE.B?7?&!%= HN*1?
MGI/N0Z\8E.T&[A:GY/J%EC/(;U>E^3C;_Z&+#:NP&NX6Y\<<]L)A07=UVJ^S
M*73ZZR#W+=ZOSH]\S_#5#VS*Y4FQURV^HQXRJ#E0*97UAAI6M"B$7"GWZ9[E
M6?,V?^$KY)__&=6I:U@O#PFDT*K@V@INNL^[-[#1? 7C$?1\W/3[[QE=CN U
M:B#/'(1]VS=,4.'9W8%>H^NZQSPRD-Z,5]G^G8$POCHU$% 14KA#^-]%4VA^
M:C2@8F ,H*?%XU0?080$#"WP'EL_2V"FTM(O8*S&\"OL'KORU+FW'R&G]_7+
MXN5IHB(VW&K+ZG RU:@T9(:]B>,8!OK;VD=W^4$R]+=WAQ8'=]?DB:_6?6DX
M^R1O_#JE65IF;59KI1K1IQ!6U>OXI^?V3(,$!^5WGC0,TM]2ZL$0T:6QFJ8P
M%EI=0MFYHW9G];U)$.2G2L^B>\2N0<ZC5S B@W;@BK,R#?W. *ATTH]:E<4\
M\G^;9@)* &917X35#G""/W$+V'=A09GZ7;@D0K%'CV.EKMR0-LBJ"</G+U!+
M P04    " !H@IY:R+8@$NH$  !F+@  %0   &YW<'@M,C R-3 T,S!?9&5F
M+GAM;-5:78_B-A1]K]3_D*;/(7S,= >T[ HQ[ IU9@<-K%KUI3+)!:QU;.0X
M0_CWM</',$N<& :C] 62^.3ZG.N/W!SX^#F-B/,"/,:,=MU&K>XZ0 ,68CKO
MNM_'7F_<'PY=)Q:(AH@P"EV7,O?SIU]_^?B;YWT%"AP)")WIVIDL$AH"OV<1
M."/&!2*.Y]SXS3N_66_>.G>=5KO3^.",'CU/W4XP_=%1'U,4@R-IT#@[[;H+
M(98=WU^M5K5TRDF-\;D,46_Y.[2[A:O64.QO. 3?^IO&/?0H]*J581OM=MO/
M6O?0&.<!9="&__?CPSA80(0\3%5. L4EQITXN_C  B2R1)9*<+0(=>;M8)ZZ
MY#6:7JM12^/0W2<.\8 S L\P<[:'WY^'QYG 5/@ACOPMQD>$2,)9A 6'F9;H
M+GVJ_UO5\^\'=XKU4DZ#&$=+ J[_7DHABQ"F7@31%/B9Y')C7)@FCH"J5>)M
M.CN7J2;,9<DN9#0>)%/P]OV=R;<@DK7\P@PE1+P_P6_C:.CNN/Y,5/5$5\NT
M%K HV\#J-ZVZGU&5"U^ [$7(,0R2[$#NCI[\QF(M-X89XU&V#[R5H*)YNT@9
MUY,#:31(I9AB!7R0IUNLHFI%S88$I +D=G^P)1$6' U9O!OR&(+:G+WX(6#5
M_XTZ4,FXV0P:X'\'68?W;U8%05,@75?7O&%"U*[+^$$^KL<D?Y)=G-']=F2&
MKZ,Q05,".>S*H-=C*.<B#.74BLU8'L$M,7V .2*;,>RE.(^<!F$Y<Q,9OB!3
MA\V6F8R 8Q8.:'@O=X8"2KDXJVOR&>8X%AQ1\0U%>=2*8%:9#671S)>,9U-Y
MK+;4/DNHX.L^"_5$C>ZRROL+)O M.2R;CD@>0ZPRFJ!T&*JGSPQOJND2>B5X
MJUQ[8<@ACK=?:@=K:'D68*_,L7D"Q^8U.?;EX1.?L)7^L:M%7H-?MD*?^(BS
M%[QY]2LDJ8%?@^F(R;*._(.7A=M/$=@22S5P/0Y(PRNOV58=( .2T8)1_?ZG
M@UAB]!?'0A;5?19%"=UN9GGU22'.$K<Q(SB0KQAT_B@G-<>(Y!#3@RRQ&G%0
M60"YNK(:2;V1\*?9+'<TR\'783F,XP3X25RUM]@:;0@2.<G6C>9T@D7N>X8.
M8HG1A"/E28[7T93E3;W<=LO9&:3! M$Y:&K1(IC59\ @ CZ7R?C*V4HLY#Q:
M(KK6/@0*T99X]N2D#M7$_D+0/(=9;KO5G/5E9QR1H5QAZ9^@SY8&I^/VZLST
M>. P+M=OUZW+NS+7JA,0%D/8=05/]E-C:XB=[TC..(N*7V19F:4BNR@3T;BX
MB+=.REDJ\NV8G9IK#$J!7_JJJ-2C809&Q*NJ\W1M+S(J(!4#DCUGNFX,<W5P
MLNZ#GP<*=1Z[/.P4W^J*$S/O)X7W23NV< SD-"LKI\#^,=#5JIRN<N_(0-9-
M166=X#09J+RMJ$J=564@Z8^*2C*RMPST?:BHOE);S$#;W?]&6_-D;>UJ:],9
M<28/ZDO5P9:D%=IW)OJJ5XF8VGXFZJI7F.C-0Q,]U2M(BNU'$TW5JT8,O$L3
M8=4K0,J\3Q-5U:M!3#U3$W75JT!.<UE--%:O$BGV:4TT5:\"*3![3=ZHJU=W
ME%O%)KJJ6F\8.,PF\JI7<!38U":"JE=Q&'C<!V:J_Y,V&?;'I_UU]:'^PBRO
M_ =02P,$%     @ :(*>6C\8.'(2!@  :SX  !4   !N=W!X+3(P,C4P-#,P
M7VQA8BYX;6S-FVUOZC84Q]]/VG?PV)M-:II"[]UNJ[975=M[A=8'5*@V[6J:
M0F+ 6N*#'%/@V\]V@!*P0T*Q<]^40$[._^1_?HF=AUY\GB4Q>L4L)4 O&\WC
MDP;"-(2(T.%EXZ7K77=OVNT&2GE HR &BB\;%!J?KW[\X>(GS_N**68!QQ'J
MSU%O-*$19K>08-0!QH,8>>B#W_KDMTY:']&G\].S\^;OJ//@>7+SF-#_SN6?
M?I!B),J@J?IZV1AQ/C[W_>ET>CSKL_@8V%"D.#GUE]&-1;A<&_'5!NO!'_UL
MY2IT*_7T5,4VS\[.?+5V%9H27:!(VO3_>KCOAB.<!!ZATI-0UI*2\U3]> ]A
MP)61.W<!&2/D-V\9YLF?O&;+.VT>S]*HL3*.08R?\0#)SY?GME'QS)<1/L5#
MV:;[H(]C4;%*,6)XH-\N9BRWF:SB3%;1_$U6\;,N&Y^/!1LI2<8Q;OCOK+.#
M&8'HCAZX8'U:"Y5W><"XC=JW$Q^T^AZ(H_:P=6^G/&S%XM2%#USQ5LJ#5OR(
M#TS&9L)#5;M'F7R[Q%*UQ3+F7BPMPF2Z@I.H4EN<LM?2XAG'8@1:.TO&$&Z5
MGRY'BA2'QT-X]2-,Y CU02YX<D%5+K[\>T<YX7,QH 6$+J54J9<-T^JLDE@.
M!, V][ XA1>O.U7*@FUK&4YAPL)LB!1*<AC'U'OI-JXR+?0M4_OGPG\K)E_F
M-5NZ%K!P1QV+"#\$,1:.>7X?!@R2 JM@EP?9+@D)9>2!FGHOCIHXT[R>D533
M5T-$Q=9N9+'=726'ECV6BFX[;#(-2KAAI<^W$$X23'F;#H E:EXFSC"XS7&B
M:WJ9\(H$%*6TC<-2&ZV)HV]2'BE]MW"4,A>JNN8*FU[0CW$Y9'*A[\=%I:L'
M%25=.R5Y/\V$:(RR2D=/)"\@8GWUGA3(%*XZ?X2D6BV]SCD%NRRPVM/5U>&M
MF%47-%<;MV>7<[G<M3N3%;.%"$GA6CJOMQ%*^V.%A6R&\HR').4LH/PQ2'0H
M%(7M=0603^7F2N (O:DB*5O#%8'!0BCKC44(VC0$-@:FQI<N%_S=P(1R-K^!
MR,Q$J:WV0J0PLRMB<D4<(54& H86I2!92PT8E7,=]K33(F1?2(P?)TD?,R-1
MVR%[X?.6QA4K4A%EDC4@H;$-ROAAL=F]8-:.Q*!&!B1[3K"C\SOB]\+ D-,5
M$T(>Y?7K(V27O5#9-XOL7$>1L#==?,@+XJ:1FX+8O9C1Y'/%RT)SM8#4'8PG
M6L<@4V0K5/++*2>M"IRT#LQ)JUY.>E/X+CAIE>6DY9J3&['XQ'HP-3_?,$:^
MAY&W;,X)D=)RRBK%ZZ-#8Z>.#9-/]LE04^(GUF'P2K+7' H;:@A_#R,;*9V#
MLKJX6590'RTF=W7(%-IFGYL.I#R(_R;CPLODHN#W,)-+Z)R83!T)^;HNA M]
MU=%28)@55N0)[9KAP$"';G5%'M93V"9 C252S'V_M4[!+@OL/%$7K8D[(Z#F
M6QFFD*K/U#?26'^H+O60$JSC.M7H&I2QPTJO_V2$<TQO($DF='$IK'N<7AA7
ML>O:7+9;OQ!%>56G[2_V$$J;8P6$+L0D))S0X8.8;S 2Q!H*S$$5$=A.9+O_
M;XIH*>FT^07603E/K+2]P[!$#8O:U2-:^<(=>QH,M&?]W<$5,3 GM(V#4/;"
M-6F4:2,E[A2,$J9"-;=<@-).TPEFE7 Q;O(^:+;2.D<GJ^"[(<CLLYZC'0;:
M&6UP.!$#W;S9ZO<(U[Z-90JI.M)LI+%-AQ)!,$#-UB_]7]%2WNU88[(.RGAB
MI>$]%LC_0>K.DS[H9A;:]15;G<MAO<^9&,K4G+97[Q7L-,'JD7PW"T?"'VQX
MPZ8H;,\C>CV5]=GC0A,M1=V_8%/H()2UQN(-P[L$LZ% [RN#*1^)$68<T+GQ
MCF%A]%ZW#+497=TS7(JC3!TMY&NX95AL+%1TS HOUV+:$<FIQY<X&&H(T:ZO
MR$0NAVT*5F)(JCEMNMXKV&F"Q1/!C1!D0=P6$\K9']A\"C#$[77P;^1R==@O
M9)'214*XA@/>9".4]F>+A;6=N!=+5V\_D>S_F,4O_P-02P,$%     @ :(*>
M6I?U^G*#!   -2\  !4   !N=W!X+3(P,C4P-#,P7W!R92YX;6S=6EN/XC88
M?:_4_Y"FSR'<ICN@95>(F5VA,CMH8-6J+Y5)#%CKV,@Q _S[?C:7,B).3"LC
MC5_(Q<?V\?$7Y\LQ'S]O,QJ\8I$3SGIAHU8/ \P2GA*VZ(7?)U%_,A@.PR"7
MB*6(<H9[(>/AYT\___3QERCZBAD62.(TF.V"Z7+-4BP>>(:#,1<2T2 *VG'S
M/F[6FW?!?;?5Z38^!..G*%+5*6$_NNIGAG(<  V6Z\M>N)1RU8WCS693V\X$
MK7&Q@";JK?B(#@]P59K*4X5S\%V\+SQ!+YK>M#2VT>ET8EUZ@N:D" B--N(_
MGT:39(DS%!&F-$D4EYQT<WUSQ!,DM9"50PB,"'45'6&1NA4UFE&K4=OF:7@2
M3G"*7_ \4,?O+\,W/;+-:EM+>*9UK[=;]5BA8N K<8:9C%*>K/4)3&H$1R)W
M,)XY%YFF#T/2?2P%GL-T0VO1L25%XM>K&Y*[%<1-3K(5Q6%\&L-*X!PJ:>@(
M;AS0BJR3\>QIX*W$$*=G6E*>O!FQZCH_QE..D]J"O\8I)JK_MCI1<K2U%'#Q
M]Z/N$,(>D5-7%,TP[86FXCT3JL*%BS-%_B>3$5X@NN^OOR5Y 1D#PA&?A\.\
M#/^=BRF:45Q K IZ.X80B7@(@54DGPW<,=,I-%_"[+S8,9,Q%H2GCRQ]@.>P
MA%(ASA&W?6B_X 7)I4!,?D-9$;4RF%-F0WBWBA47.G0F:@$;\#638C?@J9FH
M52VGO+\0BK^MLQD61I*7$*>,IF@[3-5:/R?[EVX%O0J\4Z[]-(5777XXJ!6C
M8>19@KTQQ^85')NWY#B TV<QY1OSZ]:(O 4__80^B['@KV2?(9:2-,!OP73,
M(8FB?Y%5Z?)3!G;$4DU<7V!DX%54["JG@@;I> E?/L8%Q@1QQ.@/022DL .>
M96MV6,R*DI52G"-N$TY)0B1\/3Y!4 N": $Q,\@1J[' 2@7XL-7?"U.5_XOG
M^;QP-JO!MV$YS/,U%E=Q-59Q-=LX64.0[1K-V93(PKS>!''$:"J0LBXFNVS&
MBT*OL-RQ.H_;9(G8 AMRT3*8TW? 8X;% L3X*OA&+B&.5HCMC"^!4K0CGGT(
MZE0%]A>*%@7,"LN=:C: S@2B0WC"MK]CLUH&G(G;N1/2%TG !3S!O; >!E "
MS[' Z6C?A=$VTI:(Y@&=:>NKFU">X[072K$^1102R86_\K:A R)>(:$LE61)
M:'JL/1<\*S<2>)7I <WK@;_?H5=:%=S":[&4H?'^9;#W3(Z:>!08ER/EM@Z$
ME1KO*SZ,:IC=*RL5FGZI4&*86<G1\D..J[TO*W':/HEC\MRLE+CS20DK>\]*
MEM]\DJ723;22Y(/?DC3_@R3W'DIB<DNM!.EX*$BI,VN7GWF5KE8;P7:B>)*U
MFEUH.QD\25O+[6\[*3Q)62TL=SL]/,E2JYQ^.S$\251M-Q;L1/$D3;UN!\-.
M&D_2U?*M$SLI/$E32[9M['3P)#NMWBNR\\N\RDHM=J;L5/$D+2W9%;/3P9.\
MU&(G[FP7)KZ0!!K^\>E4HG[4/[+ASC]02P,$%     @ :(*>6N%D:M^-#P
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
MMTO:OI"C*5XY[/ )(U$00G;04>$AQZ)YV(@#(_BR#M]!R!N$X.PH^#T\+RK
MZU+PM-3SP(C:ZC2<#!(^$UJ%+I;X.GK^&JKK8$3[9$@SXL6MDJ6A4F=,U<4Q
M]3X(A*ZA='W_*J]NDZ9GQ3B,<D^-/@5O;&##R#U+M:>F]GV@!@MQ^D8<6JA9
MU&%-H+--0W375,R3/:-G#E1PP,=X&1.]^Y#:TA<!C$9QQRYT'>R.)+!EF$ 8
MH@"'X[;DXE"(.R=#X8^AIZ\H!M+!)_@Z2!9J$9W3',.$8Q@*CP<CJ(.$A.F@
M!8/]$1]PB7<*-#D/#O(6PJ"">WW35",=C  2%20-&.0G@"N&."[3X1 $,1.
M3AT$3@<QU<P(YM6&_"#0/[O3/<B;U@_C=.^RM4MOJY[;.&^V^_'3%G^TWK?Z
MO5>]>7[)6^3\Q7U]R<%YZ.6Q%R=_D3O(V/S]:<7L9PCQCBC13TNQV7_W]TM[
MI0H^2K9(\'!9RH A!(0J-:9%!'IAJ*!Q[*@0I)L.00;S=7&BHYXVRWPH@C[1
MW=I7T=L2T4O)F66600@ !-*A$ BV< T'9 IOBIU22?5]W1TV'C 'HWP,4KFG
M@L>6>NB2X$N7Q(G>(=G>,VFO2V$O?"ELT[.;3_N:6>M#N][_W&UNTPVY)[DD
MF40U18O8&^52KT+I1?JO(1=11KW9)M5NUNJ^$T+ZK!)M1^>T^GDDG ;RV "@
M@ I?/SDS8)#C#M%QX4#JG&S4 %/FT,/4'(>#K'_D"\!:]4RGVM]^'^R%+=NF
MMNW+>VN\%5@2 -D[SA5S&XWS/8*FVY]@>G@4\V(HE'ZR8GG/>;UCW@3[,7<<
ME]U-@ V[/ZIWQ7Q,0+=Z9/&^J*QV?VX6OI_?GN=N=DB2W(%&Q?SV[ZD4@@*I
M4P'6^@MWK[CWJ 1W,_W<5"<?+ [?@X[XOE^2C+O?QM;]J+3L,8_[ZB63"/+!
MR9_<9JD"S*W5CL(N:8PX&Z8JS^+]DE3IA7IU0ZAU^^A.3_2:4WIHB*<$DU3,
MM_J\5I0]?*KW^L8R>[F1'IWUNRMEHZ$A_.G-0HR'B,ZG,M.,E:0#?D3HXVOI
M)_\'4$L! A0#%     @ :(*>6N1=P45^-@  63H#  T              ( !
M     &5X7S<W,S8S-2YH=&U02P$"% ,4    " !H@IY:B>)L;X(#   9#@
M$0              @ &I-@  ;G=P>"TR,#(U,#0S,"YX<V102P$"% ,4
M" !H@IY:R+8@$NH$  !F+@  %0              @ %:.@  ;G=P>"TR,#(U
M,#0S,%]D968N>&UL4$L! A0#%     @ :(*>6C\8.'(2!@  :SX  !4
M         ( !=S\  &YW<'@M,C R-3 T,S!?;&%B+GAM;%!+ 0(4 Q0    (
M &B"GEJ7]?IR@P0  #4O   5              "  ;Q%  !N=W!X+3(P,C4P
M-#,P7W!R92YX;6Q02P$"% ,4    " !H@IY:X61JWXT/   09   $P
M        @ %R2@  ;G=P>#(P,C4P,C S7SAK+FAT;5!+!08     !@ & (0!
(   P6@     !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>nwpx20250203_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/2024"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="nwpx-20250430.xsd" xlink:type="simple"/>
    <context id="d20258K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001001385</identifier>
        </entity>
        <period>
            <startDate>2025-04-30</startDate>
            <endDate>2025-04-30</endDate>
        </period>
    </context>
    <dei:AmendmentFlag contextRef="d20258K" id="ixv-273">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="d20258K" id="ixv-274">0001001385</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="d20258K" id="ixv-17">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="d20258K" id="ixv-26">2025-04-30</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="d20258K" id="ixv-30">NORTHWEST PIPE COMPANY</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="d20258K" id="ixv-39">OR</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="d20258K" id="ixv-44">0-27140</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="d20258K" id="ixv-48">93-0557988</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d20258K" id="ixv-60">201 NE Park Plaza Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="d20258K" id="ixv-62">Suite&#160;100</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="d20258K" id="ixv-66">Vancouver</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d20258K" id="ixv-68">WA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d20258K" id="ixv-70">98684</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d20258K" id="ixv-76">360</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d20258K" id="ixv-78">397-6250</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="d20258K" id="ixv-284">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="d20258K" id="ixv-285">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="d20258K" id="ixv-286">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="d20258K" id="ixv-287">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="d20258K" id="ixv-132">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d20258K" id="ixv-137">NWPX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d20258K" id="ixv-143">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="d20258K" id="ixv-288">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
