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

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			NORTHERN TECHNOLOGIES INTERNATIONAL CORP
		CENTRAL INDEX KEY:			0000875582
		STANDARD INDUSTRIAL CLASSIFICATION:	COATING, ENGRAVING & ALLIED SERVICES [3470]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				410857886
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			0831

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

	BUSINESS ADDRESS:	
		STREET 1:		4201 WOODLAND ROAD
		STREET 2:		PO BOX 69
		CITY:			CIRCLE PINES
		STATE:			MN
		ZIP:			55014
		BUSINESS PHONE:		(763) 225-6601

	MAIL ADDRESS:	
		STREET 1:		4201 WOODLAND ROAD
		STREET 2:		PO BOX 69
		CITY:			CIRCLE PINES
		STATE:			MN
		ZIP:			55014

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	NORTHERN INSTRUMENTS CORP
		DATE OF NAME CHANGE:	19930328
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>f8k_111824.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-roles="http://fasb.org/us-roles/2021-01-31" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:srt="http://fasb.org/srt/2023"><head><title>Form 8-K</title></head><body style="font: 10pt Times New Roman, Times, Serif"><div style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="Form8K" id="ixv-141">0000875582</ix:nonNumeric> <ix:nonNumeric format="ixt:booleanfalse" name="dei:AmendmentFlag" contextRef="Form8K" id="ixv-142">False</ix:nonNumeric></ix:hidden><ix:references> <link:schemaRef xlink:href="gnw-20190101.xsd" xlink:type="simple"/> </ix:references> <ix:resources> <xbrli:context id="Form8K"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000875582</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-11-19</xbrli:startDate> <xbrli:endDate>2024-11-19</xbrli:endDate> </xbrli:period> </xbrli:context> <xbrli:unit id="USD"> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unit> <xbrli:unit id="Shares"> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unit> <xbrli:unit id="USDPShares"> <xbrli:divide> <xbrli:unitNumerator> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unitNumerator> <xbrli:unitDenominator> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unitDenominator> </xbrli:divide> </xbrli:unit> </ix:resources></ix:header></div><div style="margin-top: 3pt; margin-bottom: 12pt;"><div style="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid; width: 100%;">&#160;</div></div><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 0pt;">UNITED STATES</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">SECURITIES AND EXCHANGE COMMISSION</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">Washington, D.C. 20549</p><p style="text-align: center;">_________________</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="Form8K" id="ixv-162">8-K</ix:nonNumeric></p><p style="text-align: center;">_________________</p><p style="font-size: 12pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">CURRENT REPORT</p><p style="font-size: 12pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">Pursuant to Section 13 or 15(d)<br/>of the Securities Exchange Act of 1934</p><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">Date of Report (Date of earliest event reported):&#160; <ix:nonNumeric format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" contextRef="Form8K" id="ixv-163">November 19, 2024</ix:nonNumeric></p><p style="text-align: center;">_______________________________</p><p style="font-size: 12pt; text-align: center; margin-top: 6pt; margin-bottom: 0; font-weight: bold;"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="Form8K" id="ixv-164">NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0; margin-bottom: 6pt;">(Exact name of registrant as specified in its charter)</p><p style="text-align: center;">_______________________________</p><table style="width: 100%; margin-right: auto; margin-left: auto;" border="0" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td style="width: 33%; font-size: 10pt; font-weight: bold; text-align: center;"><ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" contextRef="Form8K" id="ixv-165">Delaware</ix:nonNumeric></td><td style="width: 34%; font-size: 10pt; text-align: center; font-weight: bold;"><ix:nonNumeric name="dei:EntityFileNumber" contextRef="Form8K" id="ixv-166">001-11038</ix:nonNumeric></td><td style="width: 33%; font-size: 10pt; font-weight: bold; text-align: center;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="Form8K" id="ixv-167">41-0857886</ix:nonNumeric></td></tr><tr style="vertical-align: top;"><td style="font-size: 10pt; text-align: center;">(State or Other Jurisdiction of Incorporation)</td><td style="font-size: 10pt; text-align: center;">(Commission File Number)</td><td style="font-size: 10pt; text-align: center;">(I.R.S. Employer Identification No.)</td></tr></table><!-- Postal Address Country=UNITED STATES  --><p style="font-size: 10pt; text-align: center; margin-top: 12pt; margin-bottom: 0pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="Form8K" id="ixv-32">4201 Woodland Road<br/>P.O. Box 69</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="Form8K" id="ixv-168">Circle Pines</ix:nonNumeric>, <ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" contextRef="Form8K" id="ixv-169">Minnesota</ix:nonNumeric> <ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="Form8K" id="ixv-170">55014</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">(Address of Principal Executive Offices) (Zip Code)</p><!-- Phone Number --><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">(<ix:nonNumeric name="dei:CityAreaCode" contextRef="Form8K" id="ixv-171">763</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="Form8K" id="ixv-172">225-6600</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">(Registrant's telephone number, including area code)</p><!-- Former Name --><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">Not Applicable</p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">(Former name or former address, if changed since last report)</p><p style="text-align: center;">_______________________________</p><!-- Checkboxes --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</p><table style="width: 100%; margin-top: 6pt; margin-bottom: 6pt; font-size: 10pt;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:WrittenCommunications" contextRef="Form8K" id="ixv-173">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:SolicitingMaterial" contextRef="Form8K" id="ixv-174">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:PreCommencementTenderOffer" contextRef="Form8K" id="ixv-175">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:PreCommencementIssuerTenderOffer" contextRef="Form8K" id="ixv-176">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</td></tr></table><!-- Securities Table --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Securities registered pursuant to Section 12(b) of the Act:</p><div><table border="0" cellspacing="0" cellpadding="0" style="width: 100%"><tr style="vertical-align: top"><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 39%; border-bottom: Black 1pt solid">Title of each class</td><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 23%; border-bottom: Black 1pt solid">Trading Symbol(s)</td><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 38%; border-bottom: Black 1pt solid">Name of each exchange on which registered</td></tr><tr style="vertical-align: top"><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" name="dei:Security12bTitle" id="ixv-177">Common stock, par value $0.02 per share</ix:nonNumeric></span></td><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" name="dei:TradingSymbol" id="ixv-178">NTIC</ix:nonNumeric></span></td><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-179">Nasdaq Global Market</ix:nonNumeric></span></td></tr></table></div><!-- Emerging Growth Company --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</p><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Emerging growth company <ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" contextRef="Form8K" id="ixv-180">&#9744;</ix:nonNumeric></p><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#9744;</p><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: Black 4pt solid;">&#160;</div><div style="page-break-before: always; margin-top: 0pt; margin-bottom: 0pt;">&#160;</div><!-- 8-K Items --><div><div><div style="font-size: 10pt;"><strong>Item 2.02. Results of Operations and Financial Condition.</strong></div><div style="font-size: 10pt;"><p>On November 19, 2024, Northern Technologies International Corporation (&#8220;NTIC&#8221;) announced its consolidated financial results for the fourth fiscal quarter and fiscal year ended August 31, 2024.&#160; A copy of the press release is attached as Exhibit 99.1 to this current report on Form 8-K and the information set forth therein is incorporated herein by reference and constitutes a part of this report.</p><p>The information contained in Item 2.02 of this report and Exhibit 99.1 to this report shall not be deemed to be &#8220;filed&#8221; for purposes of Section 18 of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), and shall not be incorporated by reference into any filings made by NTIC under the Securities Act of 1933, as amended, or the Exchange Act, except as may be expressly set forth by specific reference in such filing.</p></div></div><div><div style="font-size: 10pt;"><strong>Item 9.01. Financial Statements and Exhibits.</strong></div><div style="font-size: 10pt;"><p>(d)&#160; Exhibits.</p><table style="font-size: 10pt;" border="0" cellspacing="0" cellpadding="0"><tr><td style="font-size: 10pt; font-weight: bold; text-decoration: underline;" valign="bottom">Exhibit No.</td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt; font-weight: bold; text-decoration: underline;" valign="bottom">Description</td></tr><tr><td style="font-size: 10pt;">&#160;</td><td style="font-size: 10pt; width: 20px;">&#160; &#160;&#160;</td><td style="font-size: 10pt;">&#160;</td></tr><tr><td style="font-size: 10pt;"><a href="exh_991.htm">99.1</a></td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;"><a href="exh_991.htm">Press Release issued November 19, 2024 (furnished herewith)</a></td></tr><tr><td style="font-size: 10pt;">104</td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;">The Cover Page from this Current Report on Form 8-K, Formatted in Inline XBRL (filed herewith)</td></tr></table></div></div></div><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: Black 4pt solid;">&#160;</div><div style="page-break-before: always; margin-top: 0pt; margin-bottom: 0pt;">&#160;</div><!-- Signatures --><p style="font-size: 10pt; text-align: center; font-weight: bold;">SIGNATURE</p><p style="font-size: 10pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized.</p><table style="width: 100%;" border="0" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td>&#160;</td><td style="font-size: 10pt; font-weight: bold;" colspan="2">NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION</td></tr><tr style="vertical-align: top;"><td style="width: 49%;">&#160;</td><td style="width: 2%;">&#160;</td><td style="width: 49%;">&#160;</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;"/></tr><tr style="vertical-align: top;"><td style="font-size: 10pt;">Date: November 19, 2024</td><td style="font-size: 10pt;">By:&#160;</td><td style="text-decoration: underline; font-size: 10pt;">/s/ Matthew C. Wolsfeld&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;">Matthew C. Wolsfeld</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;">Chief Financial Officer and Corporate Secretary</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;"/></tr></table><!-- Exhibit Index --><div></div><!-- (763) 225-6600 Form 8-KNovember 19, 2024 --><p>&#160;</p></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>exh_991.htm
<DESCRIPTION>PRESS RELEASE
<TEXT>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en-US"><head><title>EdgarFiling</title><meta content="text/html; charset=windows-1252" ><meta name="GENERATOR" content="MSHTML 8.00.7601.18094" ></head><body bgcolor="#ffffff"><p style="text-align: right;"><strong>EXHIBIT 99.1</strong></p><p style="text-align: center;"><font style="font-size: 14pt;"><strong>Northern Technologies International Corporation Reports &#160;Financial Results for Fourth Quarter and Full Year Fiscal 2024</strong></font></p><p style="text-align: center;"><strong></strong></p><p>
 <p>MINNEAPOLIS, Nov.  19, 2024  (GLOBE NEWSWIRE) -- Northern Technologies International Corporation (NASDAQ: NTIC), a leading developer of corrosion inhibiting products and services, as well as bio-based and biodegradable polymer resin compounds, today reported its financial results for the fourth quarter and fiscal year ended August 31, 2024.&#160;&#160;</p>  <p>Full year fiscal 2024 financial and operating highlights include (with growth rates on a fiscal year-over-year basis):</p>  <ul type="disc"><li>Consolidated net sales increased 6.5% to a record $85,060,000</li><li>ZERUST<sup>&#174;</sup> industrial net sales decreased 0.1% to $53,863,000</li><li>ZERUST<sup>&#174;</sup> oil and gas net sales increased 18.3% to a record $9,229,000</li><li>Natur-Tec<sup>&#174;</sup> product net sales increased 20.9% to a record of $21,967,000</li><li>NTIC China net sales increased 5.8% to $14,245,000</li><li>Gross profit, as a percent of net sales, increased 490 basis points to 39.7%</li><li>Joint venture operating income decreased 18.6% to $9,475,000</li><li>Net income attributable to NTIC increased 85.7% to $5,409,000, compared to $2,912,000</li><li>Net income per diluted share attributable to NTIC was $0.55, compared to $0.30</li><li>Cash provided by operating activities increased 6.2% to $5,883,000 for the full fiscal year 2024</li><li>Consolidated balance sheet as of August 31, 2024 remained strong with working capital of $23,682,000<br ></li></ul>  <p>&#8220;We closed fiscal 2024 with robust sales growth in both our ZERUST<sup>&#174;</sup> oil and gas and Natur-Tec<sup>&#174;</sup> businesses. Furthermore, thanks to the continued successful execution of certain quality system improvement initiatives, NTIC was also able to achieve another year of significantly improved profitability. Our fiscal 2024 results continue to demonstrate the value we bring to our global customers, as well as our resilience amidst ongoing economic challenges,&#8221; said G. Patrick Lynch, President and CEO of NTIC.</p>  <p>&#8220;Higher sales of ZERUST<sup>&#174;</sup> oil and gas and Natur-Tec<sup>&#174;</sup> products along with improved gross profits, contributed to a $5,983,000, or 21.5%, year-over-year increase in gross profit for fiscal 2024. This expanded gross profit allowed NTIC to offset a $2,167,000 reduction in joint venture operating income, primarily resulting from a one-time gain of nearly $2,000,000 last fiscal year tied to the liquidation of our former joint venture in China, as well as challenging market conditions, including higher energy prices and other regional economic pressures, that affected sales and profitability across various European joint ventures. We are actively focused on our European joint ventures and remain cautiously optimistic that demand and profitability in Europe will begin to improve in fiscal 2025,&#8221; Mr. Lynch continued.</p>  <p>&#8220;As anticipated, ZERUST<sup>&#174;</sup> oil and gas had a record-breaking fourth quarter, with revenues reaching $4,200,000. This was supported by approximately $600,000 in sales that shifted from the third quarter due to timing, as well as increased orders from both new and existing customers. While we expect seasonal ordering patterns to drive fluctuations in ZERUST<sup>&#174;</sup> oil and gas sales, we are well-positioned for compelling growth in this sector through fiscal 2025 and beyond. Additionally, we believe global demand for our Natur-Tec<sup>&#174;</sup> compostable plastic solutions will drive sustained revenue growth. Finally, the strategic investments we made in our workforce and infrastructure in fiscal 2024 are set to support growth opportunities across our global markets. While the economic environment remains fluid, we anticipate fiscal 2025 will bring further sales growth and improved profitability,&#8221; concluded Mr. Lynch.</p>  <p>NTIC&#8217;s consolidated net sales increased 12.7% to $23,349,000 during the three months ended August 31, 2024, compared to $20,710,000 for the three months ended August 31, 2023. The year-over-year increase in consolidated net sales for the fourth quarter was primarily a result of sales growth within the Company&#8217;s ZERUST<sup>&#174;</sup> oil and gas and Natur-Tec<sup>&#174;</sup> product categories and supported by higher customer demand. For the full year ended August 31, 2024, consolidated net sales increased 6.5% to $85,060,000, compared to $79,903,000 for the prior fiscal year primarily as a result of increased sales and demand for Natur-Tec<sup>&#174; </sup>and, to a lesser extent, ZERUST<sup>&#174; </sup>products.</p>  <p>The following tables set forth NTIC&#8217;s net sales by product category for the three months and fiscal year ended August 31, 2024, and August 31, 2023, by segment:</p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="14" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Three Months Ended</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31,&#160;<br ></strong><strong>2024</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>% of Net <br >Sales</strong><strong><br ></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31,&#160;<br ><strong>2023</strong></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>% of Net <br >Sales</strong><strong><br ></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>% <br >Change</strong><strong><br ></strong></td></tr><tr><td style="max-width:36%; width:36%; min-width:36%;;vertical-align: bottom ; ">ZERUST<sup>&#174;&#160;</sup>industrial net sales</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:11%; width:11%; min-width:11%;;padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,431,917</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:11%; width:11%; min-width:11%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">57.5</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:11%; width:11%; min-width:11%;;padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,421,470</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:11%; width:11%; min-width:11%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">64.8</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:11%; width:11%; min-width:11%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.1</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: bottom ; ">ZERUST<sup>&#174;&#160;</sup>oil &amp; gas net sales</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,199,583</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18.0</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,377,472</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11.5</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">76.6</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Total ZERUST<sup>&#174;&#160;</sup>net sales</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,631,500</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75.5</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,798,942</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">76.3</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11.6</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: bottom ; ">Total Natur-Tec<sup>&#174;&#160;</sup>net sales</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,717,607</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">24.5</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,910,693</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23.7</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16.4</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Total net sales</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,349,107</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">100.0</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,709,635</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">100.0</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12.7</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr></table> <p><br ></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="14" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Fiscal Year Ended</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31,<br ></strong><strong>2024</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>% of Net<br >Sales</strong><strong><br ></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31,<br ><strong>2023</strong></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>% of Net<br >Sales</strong><strong><br ></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>%<br >Change</strong><strong><br ></strong></td></tr><tr><td style="max-width:36%; width:36%; min-width:36%;;vertical-align: bottom ; ">ZERUST<sup>&#174;&#160;</sup>industrial net sales</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:11%; width:11%; min-width:11%;;padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">53,863,296</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:11%; width:11%; min-width:11%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">63.3</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:11%; width:11%; min-width:11%;;padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">53,926,378</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:11%; width:11%; min-width:11%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">67.5</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:11%; width:11%; min-width:11%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(0.1</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)%</td></tr><tr><td style="vertical-align: bottom ; ">ZERUST<sup>&#174;&#160;</sup>oil &amp; gas net sales</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,229,279</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10.9</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7,801,986</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9.8</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18.3</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Total ZERUST<sup>&#174;&#160;</sup>net sales</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">63,092,575</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">74.2</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,728,364</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">77.3</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2.2</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: bottom ; ">Total Natur-Tec<sup>&#174;&#160;</sup>net sales</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">21,966,942</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">25.8</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18,174,588</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">22.7</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20.9</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Total net sales</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">85,059,517</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">100.0</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">79,902,952</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">100.0</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6.5</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table> <p>NTIC&#8217;s joint venture operating income decreased 51.4% to $2,034,000 during the three months ended August 31, 2024, compared to joint venture operating income of $4,181,000 during the three months ended August 31, 2023. The $2,148,000 decrease in joint venture operating income was primarily due to a one-time $1,986,000 gain recorded during the fourth quarter of fiscal 2023 associated with the liquidation of the Company&#8217;s former joint venture in China, as well as a decrease in net income at NTIC&#8217;s joint venture in Germany, partially offset by increases in income at other joint ventures. Net sales of NTIC&#8217;s joint ventures, which are not consolidated with NTIC&#8217;s financial results, decreased 3.6% to $23,297,000 during the three months ended August 31, 2024, compared to $24,157,000 for the three months ended August 31, 2023.</p>  <p>For fiscal 2024, NTIC&#8217;s joint venture operating income decreased $2,167,000 or 18.6% to $9,475,000, compared to joint venture operating income of $11,642,000 during the full year ended August 31, 2023. Net sales of NTIC&#8217;s joint ventures decreased 4.7% to $95,940,000 for the full year ended August 31, 2024, compared to $100,682,000 for the full year ended August 31, 2023.</p>  <p>Operating expenses, as a percent of net sales, for the fourth quarter of fiscal 2024 were 40.7%, compared to 44.8% for the same period last fiscal year. For the full fiscal year 2024, operating expenses, as a percent of net sales, were 41.6%, compared to 41.8% for the same period last fiscal year. Higher operating expenses for the three and twelve months ended August 31, 2024, over the prior fiscal year periods were primarily due to increased personnel expenses, including new hires, benefits and travel.</p>  <p>Net income attributable to NTIC for the fourth quarter of fiscal 2024 increased to $1,836,000, or $0.19 per diluted share, compared to net income of $939,000, or $0.10 per diluted share, for the same period last fiscal year. For the full year ended August 31, 2024, net income attributable to NTIC increased to $5,409,000, or $0.55 per diluted share, compared to net income of $2,912,000, or $0.30 per diluted share, for the same period last fiscal year.</p>  <p>NTIC&#8217;s non-GAAP adjusted net income, as set forth in the GAAP reconciliation at the end of this release, was $1,942,000, or $0.20 per diluted share, for the fourth quarter of fiscal 2024, compared to $280,000, or $0.03 per diluted share, for the same quarter last fiscal year. For the full year ended August 31, 2024, NTIC&#8217;s non-GAAP adjusted net income, as set forth in the GAAP reconciliation at the end of this release, was $5,832,000, or $0.59 per diluted share, compared to $2,570,000, or $0.27 per diluted share last fiscal year.</p>  <p>NTIC&#8217;s consolidated balance sheet remains strong, with working capital of $23,682,000 as of August 31, 2024, including $4,952,000 in cash and cash equivalents and an outstanding revolving line of credit and term loan balance of $7,112,000, compared to $22,950,000 of working capital as of August 31, 2023, including $5,406,000 in cash and cash equivalents and an outstanding revolving line of credit and term loan balance of $6,357,000.</p>  <p>At August 31, 2024, the Company had $25,397,000 of investments in joint ventures, of which $14,057,000 or 55.3%, is cash, with the remaining balance mostly made up of other working capital.</p>  <p><strong>Conference Call and Webcast</strong></p>  <p>NTIC will host a conference call today at 8:00 a.m. Central Time to review its results of operations for the fourth quarter and full fiscal year of 2024 and its outlook, followed by a question-and-answer session. The conference call will be available to interested parties through a webcast. To join the live call and ask a question, a participant must register using the URL below.</p>  <p><strong>https://register.vevent.com/register/BI94efa9d07ecd4f65ba310b421438c061&#160;</strong></p>  <p>Once registered, the participant will receive a dial-in number and unique PIN number to access the call.</p>  <p>The audio-only webcast can be accessed at the following link: <strong>https://edge.media-server.com/mmc/p/ko5w3bye</strong>. A link to the webcast is also available on the Investor Relations section of NTIC&#8217;s webpage. Participants are advised to go to the website at least 15 minutes early to register, download and install any necessary audio software. For those unable to participate in the live webcast, a replay of the webcast will be archived and accessible for approximately one year on the Investor Relations section of NTIC&#8217;s webpage.</p>  <p><strong>About Northern Technologies International Corporation</strong>&#160;&#160;</p>  <p>Northern Technologies International Corporation develops and markets proprietary, environmentally beneficial products and services in over 65 countries either directly or via a network of subsidiaries, joint ventures, independent distributors and agents. NTIC&#8217;s primary business is corrosion prevention marketed mainly under the ZERUST<sup>&#174;</sup> brand. NTIC has been selling its proprietary ZERUST<sup>&#174;</sup> rust and corrosion inhibiting products and services to the automotive, electronics, electrical, mechanical, military and retail consumer markets for almost 50 years and more recently has also targeted and expanded into the oil and gas industry. NTIC offers worldwide on-site technical consulting for rust and corrosion prevention issues. NTIC&#8217;s technical service consultants work directly with the end users of NTIC&#8217;s products to analyze their specific needs and develop systems to meet their technical requirements. NTIC also markets and sells a portfolio of bio-based and biodegradable polymer resin compounds and finished products marketed under the Natur-Tec<sup>&#174;</sup> brand.</p>  <p><strong>Forward-Looking Statements</strong>&#160;&#160;</p>  <p align="left"><em>Statements contained in this release that are not historical information are forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. Such statements include NTIC&#8217;s beliefs that demand and profitability in Europe will begin to improve in fiscal 2025, seasonal ordering patterns will drive fluctuations in ZERUST<sup>&#174;</sup></em><strong><em>&#160;</em></strong><em>oil and gas sales, global demand for Natur-Tec<sup>&#174;</sup></em><em>&#160;compostable plastic solutions will drive sustained revenue growth, strategic investments in NTIC&#8217;s workforce and infrastructure will support growth opportunities across global markets, fiscal 2025 will bring further sales growth and improved profitability, and other statements that can be identified by words such as &#8220;believes,&#8221; &#8220;continues,&#8221; &#8220;expects,&#8221; &#8220;anticipates,&#8221; &#8220;intends,&#8221; &#8220;potential,&#8221; &#8220;outlook,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;would,&#8221; &#8220;should,&#8221; &#8220;guidance&#8221; or words of similar meaning, and the use of future dates. Such forward-looking statements are based upon the current beliefs and expectations of NTIC&#8217;s management and are inherently subject to risks and uncertainties that could cause actual results to differ materially from those projected or implied. Such potential risks and uncertainties include, but are not limited to, in no particular order: the health of the U.S. and worldwide economies, including in particular the U.S. automotive industry and its evolution towards electric vehicles; the effect of economic uncertainty, recessionary indicators, inflation, increased interest rates and turmoil in the global credit, financial and banking markets or perception thereof; effect of supply chain disruptions; dependence on joint ventures, relationships with joint venture partners and their success, including fees and dividend distributions; risks associated with international operations, including NTIC China, exposure to exchange rate fluctuations, tariffs and trade disputes; effect of economic slowdown and political unrest, including the wars between Russia and Ukraine and Israel and Hamas; the level of growth in NTIC&#8217;s markets; NTIC&#8217;s investments in research and development efforts; acceptance of existing and new products; timing of purchase orders under supply contracts; variability in sales to oil and gas customers and effect on quarterly financial results; increased competition; costs and effects of complying with changes in tax, fiscal, government and other regulatory policies, and rules relating to environmental, health and safety matters; and NTIC&#8217;s reliance on its intellectual property rights and the absence of infringement of the intellectual property rights of others. More detailed information on these and additional factors which could affect NTIC&#8217;s operating and financial results is described in NTIC&#8217;s filings with the Securities and Exchange Commission, including its annual report on Form 10-K for the fiscal year ended August 31, 2024 and subsequent quarterly reports on Form 10-Q. NTIC urges all interested parties to read these reports to gain a better understanding of the many business and other risks that it faces. Additionally, NTIC undertakes no obligation to publicly release the results of any revisions to these forward-looking statements, which may be made to reflect events or circumstances occurring after the date hereof or to reflect the occurrence of unanticipated events.</em></p>  <p align="justify"><strong>Use of Non-GAAP Financial Measures</strong></p>  <p align="left"><em>In addition to the financial measures prepared in accordance with U.S. generally accepted accounting principles (GAAP), this release contains non-GAAP financial measures, including adjusted net income attributable to NTIC and adjusted net income attributable to NTIC per diluted share. NTIC&#8217;s reasons for use of these measures, reconciliations of these non-GAAP financial measures to the most directly comparable GAAP measures and other information are included at the end of this release. Non-GAAP financial measures have limitations as analytical tools and should not be considered in isolation or as a substitute for NTIC&#8217;s financial results prepared in accordance with GAAP.</em></p>  <p align="justify"><strong>NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION</strong><br ><strong>AND SUBSIDIARIES</strong><br ><strong>CONSOLIDATED BALANCE SHEETS - AUGUST 31, 2024 AND 2023</strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="9" style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-bottom: double black 3pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31, 2024</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-bottom: double black 3pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31, 2023</strong></td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; "><strong>ASSETS</strong></td><td colspan="3" style="border-top: double black 3pt ; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">CURRENT ASSETS:</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:1%; width:1%; min-width:1%;;text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:68%; width:68%; min-width:68%;;vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Cash and cash equivalents</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,952,184</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,406,173</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Receivables:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Trade excluding joint ventures, less allowance for credit losses</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">of $310,000 and $533,000 as of August 31, 2024 and 2023, respectively</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18,798,067</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,645,130</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Trade, joint ventures</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">389,012</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">187,912</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Fees for services provided to joint ventures</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,235,016</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,296,594</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Dividend receivable from joint venture</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,986,027</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Income taxes</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">392,293</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">325,233</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Inventories, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,390,844</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,096,489</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Prepaid expenses</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,421,803</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,727,998</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Total current assets</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">41,579,219</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">39,671,556</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">PROPERTY AND EQUIPMENT, NET</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,265,653</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,065,354</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">OTHER ASSETS:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Investments in joint ventures</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">25,397,287</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,705,714</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Deferred income tax, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">544,464</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">530,944</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Intangible assets, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,682,945</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,159,485</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Goodwill</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,782,376</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,782,376</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Operating lease right of use assets</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">424,558</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">428,874</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Total other assets</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,831,630</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,607,393</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Total assets</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">94,676,502</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">89,344,303</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; "><strong>LIABILITIES AND EQUITY</strong></td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">CURRENT LIABILITIES:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Line of credit</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,291,608</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,600,000</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Term loan</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,820,835</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,757,176</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Accounts payable</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,393,355</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,056,329</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Income taxes payable</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">327,781</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">501,379</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Accrued liabilities:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Payroll and related benefits</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,163,372</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,305,400</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Other</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">574,876</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,160,289</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Current portion of operating leases</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">325,116</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">340,799</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Total current liabilities</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,896,943</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,721,372</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">LONG-TERM LIABILITIES:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Deferred income tax, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,504,796</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,836,059</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Operating leases, less current portion</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">99,442</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">88,075</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Total long-term liabilities</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,604,238</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,924,134</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">COMMITMENTS AND CONTINGENCIES</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">EQUITY:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Preferred stock, no par value; authorized 10,000 shares; none issued and outstanding</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Common stock, $0.02 par value per share; authorized 15,000,000</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">shares; issued and outstanding 9,466,976 and 9,424,102, respectively</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">189,340</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">188,482</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Additional paid-in capital</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">23,615,564</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">21,986,767</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Retained earnings</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">53,771,211</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">51,004,427</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Accumulated other comprehensive loss</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">(6,382,124</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">)</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">(6,823,403</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">)</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Stockholders&#8217; equity</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">71,193,991</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">66,356,273</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Non-controlling interests</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">3,981,330</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">4,342,524</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Total equity</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">75,175,321</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">70,698,797</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Total liabilities and equity</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">94,676,502</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; ">89,344,303</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; ">&#160;</td></tr><tr><td colspan="9" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table> <p align="justify"><strong>NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION AND SUBSIDIARIES </strong><br ><strong>CONSOLIDATED STATEMENTS OF OPERATIONS </strong><strong>FOR THE THREE (UNAUDITED) AND TWELVE MONTHS ENDED AUGUST 31, 2024 AND 2023</strong><strong>&#160;</strong></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="16" style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Three Months Ended</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Twelve Months Ended</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: double black 3pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31, 2024</strong></td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: double black 3pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31, 2023</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: double black 3pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31, 2024</strong></td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: double black 3pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31, 2023</strong></td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">NET SALES:</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:37%; width:37%; min-width:37%;;vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Net sales</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,349,107</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,709,635</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">85,059,517</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">79,902,952</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Cost of goods sold</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,129,277</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,141,849</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">51,273,155</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">52,099,121</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Gross profit</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,219,830</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7,567,786</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">33,786,362</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">27,803,831</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">JOINT VENTURE OPERATIONS:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Equity in income of joint ventures</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">546,334</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,787,926</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,223,296</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,452,719</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Fees for services provided to joint ventures</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,487,268</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,393,323</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,251,782</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,189,185</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Total joint venture operations</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,033,602</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,181,249</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,475,078</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,641,904</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">OPERATING EXPENSES:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Selling expenses</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,359,833</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,294,594</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,413,672</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,290,897</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">General and administrative expenses</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,922,528</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,695,837</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,176,494</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,166,270</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Research and development expenses</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,209,209</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,287,676</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,802,791</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,967,922</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Total operating expenses</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,491,570</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,278,107</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,392,957</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">33,425,089</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">OPERATING INCOME</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,761,862</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,470,929</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7,868,483</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,020,646</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">INTEREST INCOME</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">19,431</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,995</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">118,827</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">28,490</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">INTEREST EXPENSE</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(91,294</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(119,162</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(340,129</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(461,805</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">INCOME BEFORE INCOME TAX EXPENSE</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,689,999</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,361,761</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7,647,181</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,587,331</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">INCOME TAX EXPENSE</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">477,406</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">514,777</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,325,797</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,349,600</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">NET INCOME</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,212,593</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,846,984</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,321,384</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,237,731</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">NET INCOME ATTRIBUTABLE TO NON- CONTROLLING INTERESTS</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">376,805</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">908,037</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">912,302</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,325,455</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">NET INCOME ATTRIBUTABLE TO NTIC</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$<br ></td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,835,788<br ></td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">938,947</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,409,082</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,912,276</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">NET INCOME ATTRIBUTABLE TO NTIC PER COMMON SHARE:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Basic</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.20</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.10</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.57</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.31</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Diluted</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.19</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.10</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.55</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.30</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">WEIGHTED AVERAGE COMMON SHARES</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">ASSUMED OUTSTANDING:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Basic</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,446,498</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,384,873</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,434,020</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,359,504</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Diluted</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,884,611</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,680,285</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,833,450</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,693,482</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">CASH DIVIDENDS DECLARED PER COMMON SHARE</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.07</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.07</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.28</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.28</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table> <p align="justify"><strong>NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION AND SUBSIDIARIES</strong><br ><strong>RECONCILIATION OF GAAP TO NON-GAAP MEASURES</strong><br ><strong>(UNAUDITED, IN THOUSANDS, EXCEPT SHARE AND PER SHARE AMOUNTS)</strong></p>  <p align="justify">The accompanying press release contains certain non-GAAP financial measures, including adjusted net income attributable to NTIC and adjusted net income attributable to NTIC per diluted share, which are not calculated or presented in accordance with accounting principles generally accepted in the United States (GAAP). These non-GAAP financial measures are information supplemental and in addition to the financial measures presented in the accompanying release that are calculated and presented in accordance with GAAP. NTIC uses non-GAAP financial measures as supplemental measures of performance and believes these measures facilitate operating performance comparisons from period to period and company to company by factoring out potential differences caused by non-recurring, unusual or infrequent charges not related to NTIC&#8217;s regular, ongoing business. NTIC also believes that the presentation of certain non-GAAP financial measures provides useful information to investors in evaluating the company&#8217;s operations, period over period. Such non-GAAP financial measures should not be considered superior to, as a substitute for, or as an alternative to, and should be considered in conjunction with, the GAAP financial measures presented in the release. The non-GAAP financial measures in the accompanying release may differ from similar measures used by other companies.</p>  <p align="justify">The following is a reconciliation of NTIC&#8217;s reported net income attributable to NTIC and reported net income attributable to NTIC per diluted common share to adjusted net income attributable to NTIC and adjusted net income attributable to NTIC per diluted common share, in each case, as adjusted to exclude a one-time gain on the liquidation of a previously written-off investment in NTIC&#8217;s former joint venture in China, Tianjin Zerust (TZ liquidation), and certain other adjustments as described below.</p> <table align="center" style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Three Months Ended&#160;<br ></strong><strong>August 31,</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="6" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Fiscal Year Ended&#160;<br ></strong><strong>August 31,</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong><br ></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong><br ></td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:37%; width:37%; min-width:37%;;text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Net income attributable to NTIC, as reported</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:14%; width:14%; min-width:14%;;padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,835,788</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">938,947</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:14%; width:14%; min-width:14%;;padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,409,082</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,912,276</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Adjustments for adjusted net income:</td><td colspan="2" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Equity income from TZ liquidation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,986,027</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,986,027</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Legal fees from TZ liquidation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">95,890</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">95,890</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Withholding tax on TZ liquidation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">198,603</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">198,603</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Minority interest impact from TZ liquidation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">676,614</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">676,614</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Bonus expense impact from TZ liquidation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">250,000</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">250,000</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Amortization expense</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">105,783</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">105,783</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">423,132</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">423,132</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Non-GAAP adjusted net income</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,941,571</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">279,810</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,832,214</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,570,488</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Weighted average shares outstanding (diluted)</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,884,611</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,680,285</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,833,450</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,693,482</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Diluted net income per share, as reported</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.19</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.10</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.55</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.30</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Adjustments for adjusted net income, net of tax impact, per diluted share<sup>1</sup></td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; "><br ><br >0.01</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; "><br ><br >(0.07</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><br ><br >)</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; "><br ><br >0.04</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; "><br ><br >(0.03</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><br ><br >)</td></tr><tr><td style="vertical-align: bottom ; ">Non-GAAP diluted adjusted net income per share</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.20</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.03</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.59</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.27</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="14" style="vertical-align: bottom ; "><sup>1</sup>Includes adjustments related to the items noted above, net of tax</td></tr><tr><td colspan="14" style="vertical-align: bottom ; ">&#160;</td></tr></table> <p><strong>Investor and Media Contact:</strong><br >Matthew Wolsfeld, CFO<br >NTIC<br >(763) 225-6600</p> </p><p ></p></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>gnw-20190101.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:gnw="http://globenewswire.com/20190101" elementFormDefault="qualified" targetNamespace="http://globenewswire.com/20190101">
    <annotation>
      <appinfo>
	<link:roleType roleURI="http://globenewswire.com/role/Cover" id="Cover">
	  <link:definition>00000001 - Document - Cover</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>4
<FILENAME>gnw-20190101_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://globenewswire.com/role/Cover" xlink:href="gnw-20190101.xsd#Cover" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://globenewswire.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredClassAMember" xlink:label="loc_us-gaapPreferredClassAMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapPreferredClassAMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentType_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAmendmentFlag_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAmendmentDescription_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentRegistrationStatement_40" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAnnualReport_40" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentQuarterlyReport_40" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentTransitionReport_40" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentShellCompanyReport_40" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentShellCompanyEventDate_40" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentPeriodStartDate_40" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentPeriodEndDate_40" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCurrentFiscalYearEndDate_40" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFileNumber_40" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityRegistrantName_40" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCentralIndexKey_40" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPrimarySicNumber_40" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityTaxIdentificationNumber_40" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityIncorporationStateCountryCode_40" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine1_40" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine2_40" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine3_40" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCityOrTown_40" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressStateOrProvince_40" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCountry_40" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressPostalZipCode_40" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCountryRegion_40" xlink:type="arc" order="25" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCityAreaCode_40" xlink:type="arc" order="26" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiLocalPhoneNumber_40" xlink:type="arc" order="27" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiExtension_40" xlink:type="arc" order="28" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiWrittenCommunications_40" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSolicitingMaterial_40" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementTenderOffer_40" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementIssuerTenderOffer_40" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12bTitle_40" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiNoTradingSymbolFlag_40" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiTradingSymbol_40" xlink:type="arc" order="35" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityExchangeName_40" xlink:type="arc" order="36" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12gTitle_40" xlink:type="arc" order="37" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityReportingObligation_40" xlink:type="arc" order="38" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAnnualInformationForm_40" xlink:type="arc" order="39" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAuditedAnnualFinancialStatements_40" xlink:type="arc" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityWellKnownSeasonedIssuer_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityVoluntaryFilers_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCurrentReportingStatus_40" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityInteractiveDataCurrent_40" xlink:type="arc" order="44" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFilerCategory_40" xlink:type="arc" order="45" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntitySmallBusiness_40" xlink:type="arc" order="46" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityEmergingGrowthCompany_40" xlink:type="arc" order="47" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityExTransitionPeriod_40" xlink:type="arc" order="48" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAccountingStandard_40" xlink:type="arc" order="49" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiOtherReportingStandardItemNumber_40" xlink:type="arc" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityShellCompany_40" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPublicFloat_40" xlink:type="arc" order="52" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent_40" xlink:type="arc" order="53" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCommonStockSharesOutstanding_40" xlink:type="arc" order="54" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock_40" xlink:type="arc" order="55" />
    </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>gnw-20190101_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>gnw-20190101_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://globenewswire.com/role/Cover" xlink:href="gnw-20190101.xsd#Cover" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://globenewswire.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46094822847920">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Nov. 19, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Nov. 19,  2024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-11038<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">NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000875582<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">41-0857886<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">4201 Woodland RoadP.O. Box 69<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Circle Pines<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MN<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">55014<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">763<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">225-6600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.02 per share<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">NTIC<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementIssuerTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_WrittenCommunications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>9
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( "! <UD'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    "  @0'-9L9;'L>\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>.FD!0=3UPK032$A, G&+$F^+:)HH,6KW]J1EZX3@ 3C&_O/Y
ML^1&!ZE]Q.?H T:RF*Y&U_5)ZK!B!Z(@ 9(^H%.IS(D^-W<^.D7Y&?<0E/Y0
M>X2*\UMP2,HH4C !B[ 06=L8+75$13Z>\$8O^/ 9NQEF-&"'#GM*($H!K)TF
MAN/8-7 !3##"Z-)W <U"G*M_8N<.L%-R3'9)#<-0#O6<RSL(>'MZ?)G7+6R?
M2/4:\Z]D)1T#KMAY\FO]L-YN6%OQZKH0HA#W6U%+SN7-W?OD^L/O(NR\L3O[
MCXW/@FT#O^ZB_0)02P,$%     @ ($!S69E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
M='@//GL?)=-[*CG_5U/\!%!+ P04    "  @0'-9EXJ[',     3 @  "P
M %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=
MOZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'
MTD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+,P[P
MS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T
M>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( "! <UFJQ"(6,P$
M "("   /    >&PO=V]R:V)O;VLN>&ULC5'1;L(P#/R5*A^P%K0A#5%>0-N0
MI@V-B??0NM0BB2O'A8VOG]NJ&M)>]I3<V;K<7187XM.!Z)1\>1=B;FJ19IZF
ML:C!VWA'#02=5,3>BD(^IK%AL&6L <2[=)IEL]1;#&:Y&+6VG-X"$B@$*2C9
M$7N$2_R==S Y8\0#.I3OW/1W!R;Q&-#C%<K<9":)-5U>B/%*0:S;%4S.Y68R
M#/; @L4?>M>9_+2'V#-B#Q]6C>1FEJE@A1REW^CUK7H\@RX/J!5Z0B? :ROP
MS-0V&(Z=C*9(;V+T/8SG4.*<_U,C5146L*:B]1!DZ)'!=09#K+&))@G60VY6
M= ;N\N@#FW+()FKJIBF>HPYX4P[V1D\E5!B@?%.9J+SV4VPYZ8Y>9WK_,'G4
M'EKG5LJ]AU>RY1AQ_)[E#U!+ P04    "  @0'-9)!Z;HJT   #X 0  &@
M 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSM9$]#H,P#(6O$N4 -5"I0P5,
M75@K+A %\R,2$L6N"K<OA0&0.G1ALIXM?^_)3I]H%'=NH+;S)$9K!LIDR^SO
M *1;M(HNSN,P3VH7K.)9A@:\TKUJ$)(HND'8,V2>[IFBG#S^0W1UW6E\./VR
M./ /,+Q=Z*E%9"E*%1KD3,)HMC;!4N++3):BJ#(9BBJ6<%H@XLD@;6E6?;!/
M3K3G>1<W]T6NS>,)KM\,<'AT_@%02P,$%     @ ($!S6660>9(9 0  SP,
M !,   !;0V]N=&5N=%]4>7!E<UTN>&ULK9--3L,P$(6O$F5;)2XL6*"F&V +
M77 !8T\:J_Z39UK2VS-.VDJ@$A6%3:QXWKS/GI>LWH\1L.B=]=B4'5%\% )5
M!TYB'2)XKK0A.4G\FK8B2K636Q#WR^6#4,$3>*HH>Y3KU3.T<F^I>.EY&TWP
M39G 8ED\C<+,:DH9HS5*$M?%P>L?E.I$J+EST&!G(BY84(JKA%SY'7#J>SM
M2D9#L9&)7J5CE>BM0#I:P'K:XLH90]L:!3JHO>.6&F,"J;$#(&?KT70Q32:>
M,(S/N]G\P68*R,I-"A$YL01_QYTCR=U59"-(9*:O>"&R]>S[04Y;@[Z1S>/]
M#&DWY(%B6.;/^'O&%_\;SO$1PNZ_/[&\UDX:?^:+X3]>?P%02P$"% ,4
M"  @0'-9!T%-8H$   "Q    $               @ $     9&]C4')O<',O
M87!P+GAM;%!+ 0(4 Q0    ( "! <UFQEL>Q[P   "L"   1
M  "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( "! <UF97)PC
M$ 8  )PG   3              "  <T!  !X;"]T:&5M92]T:&5M93$N>&UL
M4$L! A0#%     @ ($!S6<&ZME9H!   I!   !@              ("!#@@
M 'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( "! <UF?H!OP
ML0(  .(,   -              "  :P,  !X;"]S='EL97,N>&UL4$L! A0#
M%     @ ($!S69>*NQS     $P(   L              ( !B \  %]R96QS
M+RYR96QS4$L! A0#%     @ ($!S6:K$(A8S 0  (@(   \
M ( !<1   'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( "! <UDD'INBK0
M /@!   :              "  =$1  !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN
M<F5L<U!+ 0(4 Q0    ( "! <UEED'F2&0$  ,\#   3              "
M ;82  !;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@     )  D /@(    4
!  $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<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>11
<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>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="f8k_111824.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://globenewswire.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="8-K" isOnlyDei="true" isUsgaap="true" original="f8k_111824.htm">f8k_111824.htm</File>
    <File>gnw-20190101.xsd</File>
    <File>gnw-20190101_def.xml</File>
    <File>gnw-20190101_lab.xml</File>
    <File>gnw-20190101_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "f8k_111824.htm": {
   "nsprefix": "gnw",
   "nsuri": "http://globenewswire.com/20190101",
   "dts": {
    "inline": {
     "local": [
      "f8k_111824.htm"
     ]
    },
    "schema": {
     "local": [
      "gnw-20190101.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    },
    "definitionLink": {
     "local": [
      "gnw-20190101_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "gnw-20190101_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "gnw-20190101_pre.xml"
     ]
    }
   },
   "keyStandard": 22,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2023": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 59,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2023": 22
   },
   "report": {
    "R1": {
     "role": "http://globenewswire.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Form8K",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "f8k_111824.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Form8K",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "f8k_111824.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CountryRegion",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r13",
      "r14"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Extension",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12gTitle",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r13": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r14": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r15": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r16": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r17": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r18": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r19": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001171843-24-006439-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001171843-24-006439-xbrl.zip
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
M<C]9%0LLSF34Q-ML4L'BD6ZG2U9D56L*99G>\L5]WBJOT"2*[@ -!0IGJF#
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
MNEEO FH",0NV)^(7OGXTP-D<NB.(A/Z$=WG,[,4_XVQ:TF,1*D VB4-D(",
M'S@,!U5\O*Z#K[H>NEF" 6PD%J/Z43C,@FA 'W8!@P!& 2:!;C<;^EB62SO/
M+!R%T&IBB'U@<L+G!92OF^7A>8J<Y_;I ^?5@#D^*I<PM]>53H7W, D&,",6
M#KWI-#6T6&AN\N8X$!K'&.-Y-29.N!4!DE"6\3@Z@K!RX/5 ,<^$TP<^"8.>
M==TKC!=4,^*3$@R>(S31+C@;C#R1O+X(_FDAZ9O/N G:I"R7GD9#-)J9Q\E,
MB,CCT,*B'/?E3L !EX< 8226*T9B)(B1L']6H!F-%L@68CUH'B+C*.6/PMCR
M@+G')X"S 7643UP&WD@XQ)G%+^1WP+(8, MU4CY'*@JFS[)!NMX=FBAW$IT+
M*C(0S:S:>E-3DDDFI=@TCX>R]5G0IC!&J@#8[%>/W]G%.3SEW2@&I0#[\1(&
MP G(&>$\]&R1G&.8C>-D5/ABB*[X=@ 0/TJP2 N?/6) ? ,3%HSVKU* A,/?
MN_X9H5_BGYMQY# AR6_.T,D0YF,\B!UGCF#6-67"/IO^=L:9 4D,)ZS%")-;
M$!@7^"EX&V>PHR3/ [)?( BD'9_'99X\Y@.:0%=%R#-*H44,JKB&QED4F&,J
MQ#08?^,.^%J(4H1; UD48X$>Z%\XS!&3<SO(LV%H@&;7G\\*BH.! $L\%.09
M_!$GQ7:X"<4G_ >DG&-(H(#S)G%^Y:X8@A&<?P9CXRJ\:L1NP72 WCYP.?>X
M?>&SH12'(K0!!1U.3WEI;K!X+.[T68(92PRRD.'PW93(H!G/R13.XV)+('QG
MPC;CI!"LRH/8!C/6*^+<Q"R3&48E0(7P#)F)7-E&GC0%O_4=IVDNG]MQ,S0)
MAH7AB 5"<<-,IG9]D"U.H44B5W@31XAM:E23Y<QL#C$M1)Q8NRSN@=*+:'UF
MSP'.BN/)'*L066-SC5R;S\/AT.-V=LKP<T8%PK?QZ Q&\P6#<%4Y^=])XK60
M8%VX7"/DEP*K_TJ1N1-0BF;C8KO_S"9C:83XPN34HCPJ9K0<-V-MW@JFQ= 2
M.V@I>%84-6J<SL]DBMM$)HF) DJYL>3.W4M0/AB0U,<2\Q]H1A@VFC@_&2X\
MD?#&SR<HF!5+X<\>'U@^7V+%M#5VC0GMF$<F8K8>KYHMY9M,($##0)3GZ_G@
M^XA*PJ?AW%'UO*B7#F-N@>"+'H9%'#7]))M:8HA%A _#%PJM\)1!3P120A?2
M8!*'NEDOE6PV,CU_Q 4WK_\PN=GQ6L1UK7Q-[LL8LM^!(^C_YC+'\W/19C#6
ME3SO,H'^,&L'TQ!BF0AEWL/-3%S_.=IYB'++P(GR\$N89\8SC9@9$VD>@+HW
M0A/T#DE]3Z?GNMDLN+"^.$]#45T6K#XN7J46IF#-A^=6"RNS9@_GH2*#E,74
M E03$J<7.N/)(RL&EK.=IZ3&R1JQ,,?IX^^-GYZHT6PF( M8W17KJY4)6A80
M,G#NF(AP,_(Q"899(!$O)&'H9]D:/CGA ?&-R#A!4)3!PX-I;6:0([$1!>T1
M>+PT$2GGU7NU5D(-"5]3.5KMJ^ZWQE6+=!OGWUKMR_;79J-#FJTN?%?O-MNM
M^B4Y;U_]:%_QOR::4KQ<M]ZZ()WKSYWF1;-^!>\O?NJ\W>JT+YL7]6[C@GRN
M7]9;YPW2^=9H=#ODA-2OOUYWNA,+C6U.7=I;S!FM_G^R_J.K_W]GMY"/;\"U
M9V_ 3<+1HI-\3]FK.GT6HK@C-D/#1O?@;JW],8_T9;<$NV&*DA)\TK=]O339
M[PWD)>*"ON)FY 5W.V\.(6-R.ATP(O.R6,XLKE:/<.J5:,=NA_J([%]R0%A]
M_(#P^?755:/5)0(0'U9QYS5)>ONB?-+-I=MF[82*:FU,!O\XH0/_G+MF?</'
MT<^7;=TJW?VXJVZ#UB<DZ=,TZ0MOH=TBF6)WGUJ;N[EJSS?FON2.[]TI@\36
M*C+%IDO5*L6-]N"3RQ"K;]D^7O&-=3A[BM=VQ9L_%+A+1US>:=F+1&T^?C,+
M7UUAO_+,T^SZDL\SF[C=D6<I,+^1[5SVPS@N7.4BX7%P\- ?MP2X$5U7Q99Y
M#)C>FKJ^?,<_?T3LF@?PX,*Y=\?\AQ(>+][F)20U:MDUJE1W5Y!OQPIR'&(T
M:=4PJ:IO^4*9UQ!1K.EF9K<#'Q>@])I-%75W5[9*H[ -VV[A,4YI$5YN$;ZP
M[#CU>%<\[JCTW 4'^(_,4*A4TTTP%4N+9TA3<1A2M*O4M)=>YBZ-Q?K&XB+?
ME1B-,Q-B&^R4G3@N@/$M!MJ^[Z:21N)E1H)?HZ1M>:IX'$:B*;8^)<ZO8XL8
M=%L#;[.[LAK2%&Q!AIH)<=^69?@:#,'C24L\U1W@<4),8 <L.2X@J0;5;876
MC"U'GM(>;%>,6*BL2HW:&O4#I$EXS"3\P$VWGCN^.^W(L$0-3:4U148(ARU%
M2[.H;:]1 .G(#4*^L+DY&D4!D_R L!/';'ZSV.J-WX_6>-GE3I\-D;J;O64J
M-2V;:NJ<(]SX* [:^$GX;6EN3:L60-"<2\>7"GXEL=K[VB:_ZRIWY1GGFDWO
M[&C'CZOVC\95]S_\'%CCG]?-']\;K2XEK4;WR,*U*M6J)JV:,NH^:#$:5 $Q
MZN9^TBFOW(:_'BM=-CO<QM/!3SU/=70B.(#)[)H)[Z67/!^7N<YNO]9J<O?M
M08M1IY9B4DN5VV<V8!\N6)]%XLJ)?(G\"!?&3,.@1E6NBAVT#'6%VMM>V3P.
MH] ,$B>XY1>EBWSV,9H$7L'$-G97ZU8:A<V34*6J:5.CMF4I'H=9^!J&+M[K
M>UP0,J@%AD"WY)Y[*45I"$0":7Q=J+C#4 @&;W2,V>H5\+TL,JY<%"W)6J*A
M&=0TY_9O'.E*M83)4IC4:,V:F^0<YXKRBZS<&@>3^<8><=_HH6WKV>H^D-UL
MKJC2FJ[2ZOPA^U)MKBB+Q908W 8&35I5+*K/GY\I%09?@3E>X[X988XW8(@7
MW)M9VAUN*VC=B0;8!JU:56HJ<Q<;;'X8.S/#>S9J$G_K4U^SJ6X85)\_GU N
M_#UF@G=R9?)EL_ZY>=GLXFWO^1:[[G_6ND+YJ'=Z[.].XX+$Y$:< PY?ULB9
M74X5=]]A\G7. >PX[ZK9,(M3MGPR:>_3L%<K0!V$QR]Y/)8]KENV UT6#8D?
M.L%QK;]HM*8IM*;+Y?3#EJ)E6E3=TUKHZS,&=5$G+(8W'_#FJN-"4Q4S:U0W
MI4TX;"DJ)DA2V_)E%$=C$XIW51VG7= UBUHU55J% Y:AJ:A4MZ1-V%B<$*7,
M)7Y6HMF3U3<.6^2/[S[XX3Q$H2]J;_/:U2#^&Q:POC>__/6Z38E.U2J$B9:\
M'_V0I:A17<%Z33*/M!G[T,9]2<<%(=,R:$WNPSYH&:I@S!6J;?OJPE=B!M98
M2<SN'</:U+SP>)^$T[NSY5;L)T\_3:K.EU@XTHV%$B;+8&(HU+*7W3RW9Y@<
MF*';]JV,A7GST_81E6Q[[&Y=M45K=I7:QA/W7KU..R@!,@^0*K4T==',O 0
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
M,9\Y,2.],$@<+XA)#Y@-'T@0!H+JOA<X0<]S?#*$)U-XBQ(OZ/DI2I0X+O;
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
M,(1>>D_&Y N,R[*<E+.)5"F^F$X#_/O;ZJ'">35PL>%,_.V#!_/Y'%>S#GJ
MW*P5=](S;*?71-.M,LRR$W@FM"$BZN!CLR6TP9]Q/=F!LE[H90UE#AK3/9RF
MT225SQ@F '\Q<\!"^RDA^1:<$+VN1)N)#E@K<PB$X#[(-R\YU;W0>JI#2$6Y
MA:9<KJF@I2Z9HI-(9H ,YM-@&H %.,VH,%^ERFYI0@H.Q?PK"&<)H[&'#%$I
M-?<DHSHG$3U'$OR#X F)$-(0 VYK(C:6YTPD$@(?0ON-%TIR^@N*1W;P^//N
M1 *+P#<2'.PA%B^]>FBE0+@2BVG"!*LR3NLG0#ZZE5%A6X1A10GQ/K@E46@:
M?Q=7U3A75 .O:F$%@8;80(Z0(L*C@@_C[$KII30!MU2[Q7.[Y"=-4+6[%M8'
M2T^S+.=V+U2Q)T63I0=^\-TG^@.=3< F#F&53VRN:N'W%Z/)ZR2(B@Y4#C8_
MB,B<*L/ JZT=7E?.C*7_:*5!-H_V$'Z#CCE9#^T8*)2_8ZLKJ_^6/8*-AO;8
M==X[-7J[3=+NMCD1\.Y(:-[WCXT0^I;*('%P")VZ!^H;;"6C2NH$Q;[YCN?;
MD!]<^+-@LM'QKM(A1>R685@1CC>BB".W45]^?0QN![X=G)OTR*UV,FDO!U-N
MM(N,+J%]![ZBADIF4!&=SQD;A:T$%E+X BX>Q:+SC-!FWM=$ZX2Y=4)P^<IB
MQA4RNHJ.P2)9"*->AGBR37$OXXRQ^Y$ZSQ,.7_O!_EN-33O"D(?)^]P8XEH-
MAO\!4$L#!!0    ( "! <UFO[VJ!40@  (=D   4    9VYW+3(P,3DP,3 Q
M7V1E9BYX;6S575UOX[@5?2_0_V"XSX[B9*?;!),N/)ZD,'9FXL;9;MN7@)9H
MF0A%&B05V_^^I#X<R>*5Y&W"2'E(;/F0//<<BN*52.?S+[N(#EZPD(2SF^'X
M['PXP,SG 6'AS?"WQ6BRF,YFPX%4B 6(<H9OAHP/?_G[G__TF1+V?&U^+9'$
M UT/D]<[26Z&:Z4VUYZWW6[/MI=G7(3>Q?GYV/OW]V\+?XTC-"+,U.?C85[*
MU&(K-[ZZNO*23W-H!;E;"IJW<>GE= XUZT\#=2A0!'_RT@^+4%)3=8&T)-<R
MB>0;]Y%*E&MD-  1YMTHAXW,H='X8G0Y/MO)8*B%'NB?5&S!*7[ JX'Y^]O#
M[-!J2/D2,[R56R+PF<\CSR"\*=?&:KI)V;7 JYMAR+:ZA?'5^?@\J?\O)8S:
M;[2_DD0;JL/T2FTCX>?-V\#%1H!(<\%-B)^2QM>Z"N''2SP*2(29Z8/#0=90
M,;Y#+80I3T.]#.-9*WA_WH?&1@&/$#F1=+6T \9)2Z,(1TMC]TETRT7?GRNB
M]#2&28'WY\6XFIQ*+2_CM$_B%8JI^L.=,B]>YJP/$T;,8/=-ORWQQCN%68"#
MG+FI\*2Q21%E2IRG/^/!:/"5^[$FI/3+%)EQR=E0[I<H4#,0<U'53N9!KY!<
M)I''<A0BM-$J7EQZF"J9'QF9(XF6V8&GA4(*&QHZ9#S3+V7> $5+3)-FGS*P
M#>M]+.M'M'SM3C6,,]PQVU?')R+GG767EN=DVD>O?<Z4[B.W-&E-]W,<FA<Y
MLY7@4:.4F6R\-H*BMIK(<,!%@(6>UIR_<J%<XN!FJ$1L"=FQ05.*I+Q?+13W
MGR<[TJ9W58N\J6W6"VJ3367U 8N@6"UN?90O18I?LTLS9(@-^Z9.5&<)33:
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
M@XH&4Q$$"J MG8.C$"FE8P@>.)$0$M$1Q4N ,K$0OW]ZLL[V76)74/0;5G#
MRB @Z;6GPR("QE$C I4AJ(CQB\T\RW:$OPL>2X@GA$#S $B&/D2<().]4)6!
M/ME:D&@GYL?#Z72U3/+4=G)I2IS-28"Y>D;2RH-@ S"ELU"4(?:$3J=_7?T-
MJ2C'W7_'EAS+I*J+PV;%4B#[E%7E"H(.BXH#BR0(%&!?.@UW#%525&I]9*=J
MF;4T1RMW!8#5ENKZ5F$0G6YS9/SQM_K:TY!_O8^>A2D"O)!@E[D>^FTF]>&_
MJ0D"@0YCQDE))45*Z^.%A..4M>Y?!*R]+0+6/8N =8B+@/701<#:VR) [;9,
M$2+&I?M5FJPQD)RP4^T:B@[+.A\6:5"HP/[ ,:,.0<<8UQDMBQ1G<_K$^*;8
M_XWX8&DEH'.6T[++9IW4TB8*@I$N9T9:RS+I7$.,I-HU%[LXR4E<FKE)**91
M@M,Z/:+MBGA_B#-:!IJOP>G1A\'0,),&3F68RF58!QY37;J^E%X^@/$;2=.?
M*'NC"X(S1DE<7DNQW2GJUKM]8J;'=ONA&4 <!$Y#' */SLB@\8N,0BJLNA+F
MA:1?6;JC.>;%N^3<-C(!.K?D #;;Q&BB@$BQ.P,(J<6H5/MY0;O,'E$OLN2
M9TT!TRUW_+IVIVGMK6VK-B!F.@U"[W!7.3^.:^,RRM,KECF1WQ>1O))O.,>5
M-["]D-SU2Y5=IO6W*6W:@!#J- B^/UG'R%0Q6#'E+64,GXFEUIIU/"6NJ=PG
MCC$LFKEC:DE >-A\=620X4AIO;"PV. T_;K+$DHR>"+25&Y9L%ILL]"2!,2"
MS1? 0B%%2NN%A>L-X6LQO?V#L[?\N<K/"K8-4+MEH]-RFQ&K-"!6NOP!S*@0
M5,:HE+I^X-D?$XJ761;AEEJDCK$!S6K,&+J0@(',&;2D))+76^Y8CI8,?<\(
MRI\)NJZ^AJZ9";ZLQ]<WC421?"&B7)73&',;0EUBY]\Z AHVOGO$4 8!4J\]
M^'M(Z@BD0AQ3<R\8YLWSN,+$/"<;\&V'_A!7! TUKSCJTP=!TT"3.E-%6/OD
MN@A$,M)G-J-F<GMXB=<2.5X96PQJ"^.&(@A&0%O0LKCY70%^<N?M5FD2W:0,
MPU=96AK'&?-,>UJRO*,@( ),5U"*O$*("J67_O^*Z0O?;?/H\,!91(A\RBJK
M1ZN^ZV\#H]TR\ZXFM6D:%!H09^_Q"Q!XK (UZOC4F+%\7LR3#XW+;&XL>ED\
M8W$ [W=Y)F=080R^"MX9Y/CVPH &:#<9.B("0F^ 3>B&0Q&)BM!/J Q&C6A/
MYV?9,0L@B;\>'LD3X?*]@R79YU_%CEXZSC &Q+H^>QO<'/UDKC<P" C?ZQ8Z
MU<M0LP*TDL^(556@WV4EJ*C%]OWES4VWXI/8K#:)'RN<$;'EOU!+ P04
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
M9C,  "G0 @ +              "  0    !E>&A?.3DQ+FAT;5!+ 0(4 Q0
M   ( "! <UD!O: .)0X  $$\   .              "  8\S  !F.&M?,3$Q
M.#(T+FAT;5!+ 0(4 Q0    ( "! <UF%)5>KL (  -4+   0
M  "  >!!  !G;G<M,C Q.3 Q,#$N>'-D4$L! A0#%     @ ($!S6:_O:H%1
M"   AV0  !0              ( !OD0  &=N=RTR,#$Y,#$P,5]D968N>&UL
M4$L! A0#%     @ ($!S66=1T?"6"@  F(4  !0              ( !04T
M &=N=RTR,#$Y,#$P,5]L86(N>&UL4$L! A0#%     @ ($!S66S!0-7W!@
M]E8  !0              ( !"5@  &=N=RTR,#$Y,#$P,5]P<F4N>&UL4$L%
3!@     &  8 >0$  #)?      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>f8k_111824_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="gnw-20190101.xsd" xlink:type="simple"/>
    <context id="Form8K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000875582</identifier>
        </entity>
        <period>
            <startDate>2024-11-19</startDate>
            <endDate>2024-11-19</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="Form8K" id="ixv-141">0000875582</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="Form8K" id="ixv-142">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="Form8K" id="ixv-162">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="Form8K" id="ixv-163">2024-11-19</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="Form8K" id="ixv-164">NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="Form8K" id="ixv-165">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="Form8K" id="ixv-166">001-11038</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="Form8K" id="ixv-167">41-0857886</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Form8K" id="ixv-32">4201 Woodland RoadP.O. Box 69</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Form8K" id="ixv-168">Circle Pines</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Form8K" id="ixv-169">MN</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Form8K" id="ixv-170">55014</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Form8K" id="ixv-171">763</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Form8K" id="ixv-172">225-6600</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="Form8K" id="ixv-173">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="Form8K" id="ixv-174">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="Form8K" id="ixv-175">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="Form8K" id="ixv-176">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="Form8K" id="ixv-177">Common stock, par value $0.02 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Form8K" id="ixv-178">NTIC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="Form8K" id="ixv-179">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="Form8K" id="ixv-180">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
