<SEC-DOCUMENT>0001376474-24-000142.txt : 20240328
<SEC-HEADER>0001376474-24-000142.hdr.sgml : 20240328
<ACCEPTANCE-DATETIME>20240328080702
ACCESSION NUMBER:		0001376474-24-000142
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		28
CONFORMED PERIOD OF REPORT:	20240229
FILED AS OF DATE:		20240328
DATE AS OF CHANGE:		20240328

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TAYLOR DEVICES INC
		CENTRAL INDEX KEY:			0000096536
		STANDARD INDUSTRIAL CLASSIFICATION:	GENERAL INDUSTRIAL MACHINERY & EQUIPMENT, NEC [3569]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				160797789
		STATE OF INCORPORATION:			NY
		FISCAL YEAR END:			0531

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-03498
		FILM NUMBER:		24793634

	BUSINESS ADDRESS:	
		STREET 1:		90 TAYLOR DR
		CITY:			NORTH TONAWANDA
		STATE:			NY
		ZIP:			14120
		BUSINESS PHONE:		7166940800

	MAIL ADDRESS:	
		STREET 1:		90 TAYLOR DR
		CITY:			N TONAWANDA
		STATE:			NY
		ZIP:			14120
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>tayd-20240229.htm
<DESCRIPTION>TAYLOR DEVICES INC - FORM 10-Q SEC FILING
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fil="http://taylordevices.com/20240229" xmlns:srt="http://fasb.org/srt/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:i="http://www.xbrl.org/2003/instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<title>TAYLOR DEVICES INC - Form 10-Q SEC filing</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body>
<div style="display:none">
<ix:header>
<ix:hidden>
<ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="D230601_240229" id="fact1">0000096536</ix:nonNumeric>
<ix:nonNumeric name="dei:CurrentFiscalYearEndDate" contextRef="D230601_240229" id="fact2">--05-31</ix:nonNumeric>
<ix:nonNumeric name="dei:AmendmentFlag" contextRef="D230601_240229" id="fact3">false</ix:nonNumeric>
<ix:nonNumeric name="dei:DocumentFiscalYearFocus" contextRef="D230601_240229" id="fact4">2024</ix:nonNumeric>
<ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" contextRef="D230601_240229" id="fact5">Q3</ix:nonNumeric>
</ix:hidden>
<ix:references>
<link:schemaRef xlink:arcrole="http://www.xbrl.org/2003/linkbase" xlink:href="tayd-20240229.xsd" xlink:type="simple"/>
</ix:references>
<ix:resources>
<i:unit id="USD">
<i:measure>iso4217:USD</i:measure>
</i:unit>
<i:unit id="Shares">
<i:measure>xbrli:shares</i:measure>
</i:unit>
<i:unit id="UsdPerShare">
<i:divide>
<i:unitNumerator>
<i:measure>iso4217:USD</i:measure>
</i:unitNumerator>
<i:unitDenominator>
<i:measure>xbrli:shares</i:measure>
</i:unitDenominator>
</i:divide>
</i:unit>
<i:context id="D230601_240229">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-06-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="I240229">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:instant>2024-02-29</i:instant>
</i:period>
</i:context>
<i:context id="I240328">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:instant>2024-03-28</i:instant>
</i:period>
</i:context>
<i:context id="I230531">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:instant>2023-05-31</i:instant>
</i:period>
</i:context>
<i:context id="D231201_240229">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-12-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D221201_230228">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-12-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="D220601_230228">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-06-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="I230531_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-05-31</i:instant>
</i:period>
</i:context>
<i:context id="I231130_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-11-30</i:instant>
</i:period>
</i:context>
<i:context id="I221130_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-11-30</i:instant>
</i:period>
</i:context>
<i:context id="I220531_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-05-31</i:instant>
</i:period>
</i:context>
<i:context id="D230601_240229_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-06-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D231201_240229_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-12-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D221201_230228_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-12-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="D220601_230228_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-06-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="I240229_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-02-29</i:instant>
</i:period>
</i:context>
<i:context id="I230228_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-02-28</i:instant>
</i:period>
</i:context>
<i:context id="I230531_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-05-31</i:instant>
</i:period>
</i:context>
<i:context id="I231130_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-11-30</i:instant>
</i:period>
</i:context>
<i:context id="I221130_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-11-30</i:instant>
</i:period>
</i:context>
<i:context id="I220531_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-05-31</i:instant>
</i:period>
</i:context>
<i:context id="D230601_240229_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-06-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D231201_240229_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-12-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D221201_230228_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-12-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="D220601_230228_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-06-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="I240229_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-02-29</i:instant>
</i:period>
</i:context>
<i:context id="I230228_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-02-28</i:instant>
</i:period>
</i:context>
<i:context id="I230531_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-05-31</i:instant>
</i:period>
</i:context>
<i:context id="I231130_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-11-30</i:instant>
</i:period>
</i:context>
<i:context id="I221130_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-11-30</i:instant>
</i:period>
</i:context>
<i:context id="I220531_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-05-31</i:instant>
</i:period>
</i:context>
<i:context id="D230601_240229_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-06-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D231201_240229_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-12-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D221201_230228_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-12-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="D220601_230228_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-06-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="I240229_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-02-29</i:instant>
</i:period>
</i:context>
<i:context id="I230228_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-02-28</i:instant>
</i:period>
</i:context>
<i:context id="I230531_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-05-31</i:instant>
</i:period>
</i:context>
<i:context id="I231130_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-11-30</i:instant>
</i:period>
</i:context>
<i:context id="I221130_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-11-30</i:instant>
</i:period>
</i:context>
<i:context id="I220531_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-05-31</i:instant>
</i:period>
</i:context>
<i:context id="D230601_240229_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-06-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D231201_240229_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-12-01</i:startDate>
<i:endDate>2024-02-29</i:endDate>
</i:period>
</i:context>
<i:context id="D221201_230228_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-12-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="D220601_230228_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-06-01</i:startDate>
<i:endDate>2023-02-28</i:endDate>
</i:period>
</i:context>
<i:context id="I240229_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-02-29</i:instant>
</i:period>
</i:context>
<i:context id="I230228_StEqComps-TreasuryStockCommon">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-02-28</i:instant>
</i:period>
</i:context>
<i:context id="I230228">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:instant>2023-02-28</i:instant>
</i:period>
</i:context>
<i:context id="I220531">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000096536</i:identifier>
</i:entity>
<i:period>
<i:instant>2022-05-31</i:instant>
</i:period>
</i:context>
</ix:resources>
</ix:header>
</div>
<div style="margin-left:36pt;width:504pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
UNITED STATES<p style="font:10pt Times New Roman;margin:0;text-align:center"><b>SECURITIES AND EXCHANGE COMMISSION</b></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><b>Washington, D.C. 20549</b></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:12pt Times New Roman;margin:0;text-align:center"><b>FORM <ix:nonNumeric name="dei:DocumentType" contextRef="D230601_240229" escape="true" id="ixv-5609">10-Q</ix:nonNumeric></b></p>
<p style="font:10pt Times New Roman;margin:0"> &#160;(Mark One) </p>
<table style="margin:0 auto;border-collapse:collapse;width:100.2%"><tr><td valign="middle" style="width:3.82%"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:96.18%"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:3.82%"><p style="font:12pt Times New Roman;margin:0;text-align:center"><span style="font-family:MS Gothic"><ix:nonNumeric name="dei:DocumentQuarterlyReport" contextRef="D230601_240229" format="ixt-sec:boolballotbox" id="ixv-5610">&#9746;</ix:nonNumeric></span></p>
</td><td valign="top" style="width:96.18%"><p style="font:10pt Times New Roman;margin:0"><b>QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:justify"> &#160;For the quarterly period ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="D230601_240229" format="ixt:date-monthname-day-year-en" id="ixv-5611">February 29, 2024</ix:nonNumeric></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><b>OR</b></p>
<table style="margin:0 auto;border-collapse:collapse;width:99.94%"><tr><td valign="middle" style="width:3.82%"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:96.18%"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:3.82%"><p style="font:12pt Times New Roman;margin:0;text-align:center"><span style="font-family:MS Gothic"><ix:nonNumeric name="dei:DocumentTransitionReport" contextRef="D230601_240229" format="ixt-sec:boolballotbox" id="ixv-5612">&#9744;</ix:nonNumeric></span></p>
</td><td valign="top" style="width:96.18%"><p style="font:10pt Times New Roman;margin:0"><b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"> &#160;For the transition period from <span style="border-bottom:1px solid #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span> to <span style="border-bottom:1px solid #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"> &#160;Commission File Number <span style="border-bottom:1px solid #000000"><ix:nonNumeric name="dei:EntityFileNumber" contextRef="D230601_240229" escape="true" id="ixv-5613">0-3498</ix:nonNumeric></span></p>
<p style="font:12pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:center"><b><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="D230601_240229" escape="true" id="ixv-5614">TAYLOR DEVICES INC</ix:nonNumeric></b></p>
<p style="font:1pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">(Exact name of registrant as specified in its charter)</p>
<table style="margin:0 auto;border-collapse:collapse;width:99.8%"><tr><td valign="bottom" style="width:56.08%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:1.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:42.08%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:56.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="D230601_240229" format="ixt-sec:stateprovnameen" id="ixv-5615">New York</ix:nonNumeric></p>
</td><td valign="bottom" style="width:1.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="D230601_240229" escape="true" id="ixv-5616">16-0797789</ix:nonNumeric></p>
</td></tr>
<tr><td colspan="3" valign="top" style="width:100%;border-top:0.5pt solid #000000"><p style="font:1pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:56.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(State or other jurisdiction of incorporation or organization) </p>
</td><td valign="bottom" style="width:1.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(I.R.S. Employer Identification No.)</p>
</td></tr>
<tr><td valign="top" style="width:56.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:1.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:56.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="D230601_240229" escape="true" id="ixv-5617">90 Taylor Drive</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="D230601_240229" escape="true" id="ixv-5618">North Tonawanda</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="D230601_240229" format="ixt-sec:stateprovnameen" id="ixv-5619">New York</ix:nonNumeric> </p>
</td><td valign="bottom" style="width:1.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="D230601_240229" escape="true" id="ixv-5620">14120</ix:nonNumeric></p>
</td></tr>
<tr><td colspan="3" valign="top" style="width:100%;border-top:0.5pt solid #000000"><p style="font:1pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:56.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(<ix:nonNumeric name="dei:EntityAddressAddressDescription" contextRef="D230601_240229" escape="true" id="ixv-5621">Address of principal executive offices</ix:nonNumeric>) </p>
</td><td valign="bottom" style="width:1.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.08%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(Zip Code)</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:CityAreaCode" contextRef="D230601_240229" escape="true" id="ixv-5622">716</ix:nonNumeric>-<ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="D230601_240229" escape="true" id="ixv-5623">694-0800</ix:nonNumeric></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">(<ix:nonNumeric name="dei:PhoneFaxNumberDescription" contextRef="D230601_240229" escape="true" id="ixv-5624">Registrant&#8217;s telephone number, including area code</ix:nonNumeric>)</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">NOT APPLICABLE</p>
</div>
<div style="margin-left:36pt"><table style="border-collapse:collapse;margin-left:5.4pt"><tr><td valign="top" style="width:468pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">(Former name, former address and former fiscal year, if changed since last report)</p>
</td></tr>
</table>
</div>
<div style="margin-left:36pt;width:504pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Securities registered pursuant to Section 12(b) of the Act:</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td valign="top" style="width:153.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Title of each class</span></p>
</td><td valign="top" style="width:108.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Trading Symbol</span></p>
</td><td valign="top" style="width:195.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Name of each exchange on which registered</span></p>
</td></tr>
<tr><td valign="top" style="width:153.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">None</p>
</td><td valign="top" style="width:108.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">None</p>
</td><td valign="top" style="width:195.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">None</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;days.&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="D230601_240229" id="ixv-5625">Yes</ix:nonNumeric> <span style="font-family:MS Gothic">&#9746;</span> No <span style="font-family:MS Gothic">&#9744;</span></p>
<p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted and posted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit and post such files).&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="D230601_240229" id="ixv-5626">Yes</ix:nonNumeric> <span style="font-family:MS Gothic">&#9746;</span> No <span style="font-family:MS Gothic">&#9744;</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. &#160;See the definitions of "large accelerated filer," "accelerated filer," "smaller reporting company" and "emerging growth company" in Rule 12b-2 of the Exchange Act.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
</div>
<div style="margin-left:36pt"><table style="border-collapse:collapse"><tr style="height:15.75pt"><td valign="top" style="width:347.4pt"><p style="font:10pt Times New Roman;margin:0">Large accelerated filer <span style="font-family:MS Gothic">&#9744;</span></p>
</td><td valign="top" style="width:185.4pt"><p style="font:10pt Times New Roman;margin:0">Accelerated filer <span style="font-family:MS Gothic">&#9744;</span></p>
</td></tr>
<tr><td valign="top" style="width:347.4pt"><p style="font:10pt Times New Roman;margin:0"><ix:nonNumeric name="dei:EntityFilerCategory" contextRef="D230601_240229" format="ixt-sec:entityfilercategoryen" id="ixv-5627">Non-accelerated Filer</ix:nonNumeric> <span style="font-family:MS Gothic">&#9746;</span></p>
</td><td valign="top" style="width:185.4pt"><p style="font:10pt Times New Roman;margin:0">Smaller reporting company <span style="font-family:MS Gothic"><ix:nonNumeric name="dei:EntitySmallBusiness" contextRef="D230601_240229" format="ixt-sec:boolballotbox" id="ixv-5628">&#9746;</ix:nonNumeric></span> </p>
</td></tr>
<tr><td valign="top" style="width:347.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:185.4pt"><p style="font:10pt Times New Roman;margin:0">Emerging growth company <span style="font-family:MS Gothic"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="D230601_240229" format="ixt-sec:boolballotbox" id="ixv-5629">&#9744;</ix:nonNumeric></span></p>
</td></tr>
</table>
</div>
<div style="margin-left:36pt;width:504pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">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. &#160;<span style="font-family:MS Gothic">&#9744;</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;&#160;</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Exchange Act).</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:36pt;margin-left:360pt">Yes <span style="font-family:MS Gothic"><ix:nonNumeric name="dei:EntityShellCompany" contextRef="D230601_240229" format="ixt-sec:boolballotbox" id="ixv-5630">&#9744;</ix:nonNumeric></span> No <span style="font-family:MS Gothic">&#9746;</span></p>
<p style="font:10pt Times New Roman;margin:0;text-indent:36pt;margin-left:360pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">As of March 28, 2024, there were outstanding <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="I240328" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5631">3,093,964</ix:nonFraction> shares of the registrant&#8217;s common stock, par value $<ix:nonFraction name="dei:EntityListingParValuePerShare" contextRef="D230601_240229" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5632">0.025</ix:nonFraction> per share.</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">2</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">TAYLOR DEVICES, INC.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Index to Form 10-Q</b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:468.35pt"><tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">PART I </p>
</td><td colspan="2" valign="top" style="width:336.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">FINANCIAL INFORMATION</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">PAGE NO.</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 1.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a1" title="Click to go to this topic in this filing." style="text-decoration:none">Financial Statements</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a1" title="Click to go to this topic in this filing." style="text-decoration:none">Condensed Consolidated Balance Sheets as of February 29, 2024 and May 31, 2023</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a1" title="Click to go to this topic in this filing." style="text-decoration:none">4</a></span></p>
</td></tr>
<tr style="height:8.25pt"><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a2" title="Click to go to this topic in this filing." style="text-decoration:none">Condensed Consolidated Statements of Income for the three and nine months ended February 29, 2024 and February 28, 202</a>3</span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><a href="#a2" style="text-decoration:none">5</a></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a3" title="Click to go to this topic in this filing." style="text-decoration:none">Condensed Consolidated Statements of Stockholders&#8217; Equity for the three and nine months ended February 29, 2024 and February 28, 202</a>3</span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a3" title="Click to go to this topic in this filing." style="text-decoration:none">6</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a4" title="Click to go to this topic in this filing." style="text-decoration:none">Condensed Consolidated Statements of Cash Flows for the nine months ended February 29, 2024 and February 28, 202</a>3</span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a4" title="Click to go to this topic in this filing." style="text-decoration:none">7</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a5" title="Click to go to this topic in this filing." style="text-decoration:none">Notes to Condensed Consolidated Financial Statements</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a5" title="Click to go to this topic in this filing." style="text-decoration:none">8</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 2.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#0000FF"><span style="border-bottom:1px solid #0000FF"><a href="#a6" title="Click to go to this topic in this filing." style="text-decoration:none">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a6" title="Click to go to this topic in this filing." style="text-decoration:none">10</a></span></p>
</td></tr>
<tr style="height:14.4pt"><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 3.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a7" title="Click to go to this topic in this filing." style="text-decoration:none">Quantitative and Qualitative Disclosures About Market Risk</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a7" title="Click to go to this topic in this filing." style="text-decoration:none">17</a></span></p>
</td></tr>
<tr style="height:14.4pt"><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.1pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:45.15pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 4.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a8" title="Click to go to this topic in this filing." style="text-decoration:none">Controls and Procedures</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a8" title="Click to go to this topic in this filing." style="text-decoration:none">17</a></span></p>
</td></tr>
<tr style="height:14.4pt"><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">PART II </p>
</td><td colspan="2" valign="top" style="width:336.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">OTHER INFORMATION</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 1.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a9" title="Click to go to this topic in this filing." style="text-decoration:none">Legal Proceedings</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;text-align:right"><a href="#a9" style="text-decoration:none">18</a></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 1A.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a10" title="Click to go to this topic in this filing." style="text-decoration:none">Risk Factors</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a10" title="Click to go to this topic in this filing." style="text-decoration:none">19</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 2.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a11" title="Click to go to this topic in this filing." style="text-decoration:none">Unregistered Sales of Equity Securities and Use of Proceeds</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a11" title="Click to go to this topic in this filing." style="text-decoration:none">19</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 3.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a12" title="Click to go to this topic in this filing." style="text-decoration:none">Defaults Upon Senior Securities</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a12" title="Click to go to this topic in this filing." style="text-decoration:none">19</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 4.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a13" title="Click to go to this topic in this filing." style="text-decoration:none">Mine Safety Disclosures</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a13" title="Click to go to this topic in this filing." style="text-decoration:none">19</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 5.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a14" title="Click to go to this topic in this filing." style="text-decoration:none">Other Information</a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a14" title="Click to go to this topic in this filing." style="text-decoration:none">20</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Item 6.</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a15" title="Click to go to this topic in this filing." style="text-decoration:none">Exhibits </a></span></p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a15" title="Click to go to this topic in this filing." style="text-decoration:none">20</a></span></p>
</td></tr>
<tr><td valign="top" style="width:40.2pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:46.9pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:290pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td></tr>
<tr><td colspan="3" valign="top" style="width:377.1pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#0000FF"><span style="border-bottom:1px solid #0000FF"><a href="#a16" title="Click to go to this topic in this filing." style="text-decoration:none">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</a></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:91.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a16" title="Click to go to this topic in this filing." style="text-decoration:none">21</a></span></p>
</td></tr>
<tr><td colspan="2" valign="top" style="width:87.1pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#0000FF"><span style="border-bottom:1px solid #0000FF"><a href="#a17" title="Click to go to this topic in this filing." style="text-decoration:none">SIGNATURES</a></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:381.25pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a17" title="Click to go to this topic in this filing." style="text-decoration:none">22</a></span></p>
</td></tr>
</table>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<a id="a1"></a><table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">TAYLOR DEVICES, INC. AND SUBSIDIARY</p>
</td><td valign="bottom" style="width:93.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>&#160;</b></p>
</td><td valign="bottom" style="width:26.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>&#160;</b></p>
</td><td valign="bottom" style="width:98pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:93.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:98pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Condensed Consolidated Balance Sheets</b></p>
</td><td valign="bottom" style="width:93.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>(Unaudited)</b></p>
</td><td valign="bottom" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:98pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:93.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>February 29,</b></p>
</td><td valign="bottom" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:98pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31,</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:93.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>2024</b></p>
</td><td valign="bottom" style="width:26.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>&#160;</b></p>
</td><td valign="bottom" style="width:98pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:93.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:98pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Assets</b></p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Current assets:</b></p>
</td><td valign="middle" style="width:93.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:right">&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:right">&#160;</p>
</td><td valign="middle" style="width:98pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Cash and cash equivalents</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5633">3,056,450</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5634">3,575,219</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Short-term investments</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5635">21,567,890</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5636">24,514,757</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Accounts and other receivables, net</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:AccountsAndOtherReceivablesNetCurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5637">4,886,625</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:AccountsAndOtherReceivablesNetCurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5638">5,553,504</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Inventory</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:InventoryPartsAndComponentsNetOfReserves" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5639">6,677,772</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:InventoryPartsAndComponentsNetOfReserves" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5640">5,941,304</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Costs and estimated earnings in excess of billings</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5641">4,534,019</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5642">4,124,182</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Other current assets</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5643">464,745</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5644">668,554</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:35.25pt;color:#000080"><b>Total current assets</b></p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5645">41,187,501</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5646">44,377,520</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0">Maintenance and other inventory, net</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:OtherInventoryNoncurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5647">1,360,932</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:OtherInventoryNoncurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5648">1,003,140</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5649">11,135,688</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5650">11,721,784</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0">Patents, net</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5651">298,148</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="I230531" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5652">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0">Other assets</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:OtherAssetsMiscellaneousNoncurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5653">241,051</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:OtherAssetsMiscellaneousNoncurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5654">210,120</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0">Deferred income taxes</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5655">568,615</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5656">568,615</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="width:285.75pt"/><td valign="middle" style="width:93.75pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:Assets" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5657">54,791,935</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:Assets" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5658">57,881,179</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Liabilities and Stockholders' Equity</b></p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt;border-top:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt;border-top:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt;border-top:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Current liabilities:</b></p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Accounts payable</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5659">955,841</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5660">1,717,657</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Accrued expenses</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5661">4,039,991</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5662">4,078,322</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Billings in excess of costs and estimated earnings</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:BillingsInExcessOfCostCurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5663">1,960,286</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:BillingsInExcessOfCostCurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5664">1,992,470</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:35.25pt;color:#000080"><b>Total current liabilities</b></p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5665">6,956,118</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5666">7,788,449</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:14.25pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Stockholders' Equity:</b></p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Common stock and additional paid-in capital</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5667">11,794,037</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5668">11,049,216</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Retained earnings</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5669">48,654,388</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5670">42,128,256</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b>60,448,425&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt">53,177,472&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:17.25pt">Treasury stock - at cost</p>
</td><td valign="middle" style="width:93.75pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b>(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5671">12,612,608</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5672">3,084,742</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0;margin-left:35.25pt;color:#000080"><b>Total stockholders&#8217; equity</b></p>
</td><td valign="middle" style="background-color:#EBEBEB;width:93.75pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5673">47,835,817</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:26.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:98pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5674">50,092,730</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="width:285.75pt;border-bottom:0.5pt solid #000000"/><td valign="middle" style="width:93.75pt;padding-left:5.75pt;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:81pt"><b><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5675">54,791,935</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="middle" style="width:26.5pt;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="middle" style="width:98pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:85pt"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5676">57,881,179</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="background-color:#EBEBEB;width:285.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:93.75pt;border-top:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:26.5pt;border-top:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:98pt;border-top:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"><i>See notes to condensed consolidated financial statements.</i></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">4</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:484.2pt"><tr style="height:15pt"><td valign="bottom" style="width:220pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">TAYLOR DEVICES, INC. AND SUBSIDIARY</p>
</td><td valign="bottom" style="width:65.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:5.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:66.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><span style="color:#000080"><b>&#160;</b></span></p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>&#160;</b></p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Condensed Consolidated Statements of Income</b></p>
</td><td colspan="3" valign="top" style="width:136.9pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>(Unaudited)</b></p>
</td><td colspan="2" valign="top" style="width:127.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>(Unaudited)</b></p>
</td></tr>
<tr><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:136.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">For the three months ended</p>
</td><td colspan="2" valign="top" style="width:127.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">For the nine months ended</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="width:220pt;border-bottom:0.5pt solid #000000"/><td valign="bottom" style="width:65.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>February 29,</b><br/><b>2024</b></p>
</td><td valign="top" style="width:5.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:66.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="color:#000080"><b>February 29,</b></span><br/><span style="color:#000080"><b>2024</b></span></p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">Sales, net</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:Revenues" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5677">12,254,093</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:Revenues" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5678">9,891,272</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"><span style="color:#000080"><b>$</b></span></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:Revenues" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5679">32,517,596</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:Revenues" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5680">29,479,337</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">Cost of goods sold</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5681">6,501,227</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:5.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5682">5,629,523</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5683">17,569,487</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5684">17,357,733</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b> Gross profit</b></p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:GrossProfit" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5685">5,752,866</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5686">4,261,749</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:GrossProfit" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5687">14,948,109</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5688">12,121,604</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">Research and development costs</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5689">108,363</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5690">190,688</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5691">321,518</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5692">881,335</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">Selling, general and administrative expenses</p>
</td><td valign="bottom" style="width:65.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5693">2,651,289</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="width:5.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5694">2,266,115</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5695">7,660,172</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5696">6,500,487</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b> Operating income</b></p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5697">2,993,214</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5698">1,804,946</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5699">6,966,419</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5700">4,739,782</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">Other income, net</p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5701">362,707</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5702">239,941</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5703">1,122,713</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5704">432,984</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:5.4pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0"> Income before provision for income taxes</p>
</td><td valign="bottom" style="width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5705">3,355,921</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5706">2,044,887</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5707">8,089,132</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5708">5,172,766</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0">Provision for income taxes</p>
</td><td valign="bottom" style="width:65.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5709">659,000</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="width:5.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5710">386,000</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5711">1,563,000</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5712">952,000</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15.75pt"><td valign="bottom" style="width:220pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b> Net income</b></p>
</td><td valign="bottom" style="width:65.3pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D231201_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5713">2,696,921</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="width:5.4pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D221201_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5714">1,658,887</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"><span style="color:#000080"><b>$</b></span></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5715">6,526,132</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5716">4,220,766</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:5.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:15.75pt"><td valign="bottom" style="width:220pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Basic and diluted earnings per common share</p>
</td><td valign="bottom" style="width:65.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><b><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="D231201_240229" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5717">0.82</ix:nonFraction></b></kbd>&#160;</p>
</td><td valign="bottom" style="width:5.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:66.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="D221201_230228" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5718">0.47</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"><span style="color:#000080"><b>$</b></span></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><span style="color:#000080"><b><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="D230601_240229" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5719">1.91</ix:nonFraction></b></span></kbd>&#160;</p>
</td><td valign="bottom" style="width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="D220601_230228" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5720">1.20</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:15.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:220pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:65.3pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:5.4pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.2pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:63.65pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"><i>See notes to condensed consolidated financial statements.</i></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">5</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a3"></a><table style="margin:0 auto;border-collapse:collapse"><tr><td valign="bottom" style="width:229.55pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">TAYLOR DEVICES, INC. AND SUBSIDIARY</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:229.55pt;border-top:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt;border-top:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:1pt;border-top:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt;border-top:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:1pt;border-top:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt;border-top:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:1pt;border-top:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt;border-top:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td colspan="2" valign="top" style="width:297.1pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#000080"><b>Condensed Consolidated Statements of Stockholders&#8217; Equity</b></span></p>
</td><td valign="top" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" valign="bottom" style="width:137.1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>(Unaudited)</b></p>
</td><td colspan="4" valign="bottom" style="width:137.35pt"><p style="font:12pt Times New Roman;margin:0;color:#000080;text-align:center"><span style="font-size:10pt"><b>(Unaudited)</b></span></p>
</td></tr>
<tr><td valign="top" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" valign="bottom" style="width:137.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">For the three months ended</p>
</td><td colspan="4" valign="bottom" style="width:137.35pt"><p style="font:12pt Times New Roman;margin:0;text-align:center"><span style="font-size:10pt">For the nine months ended</span></p>
</td></tr>
<tr><td valign="bottom" style="width:229.55pt;border-bottom:0.5pt solid #000000"/><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="color:#000080"><b>February 29,</b></span><br/><span style="color:#000080"><b>2024</b></span></p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="color:#000080"><b>Febuary 29,</b></span><br/><span style="color:#000080"><b>2024</b></span></p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td></tr>
<tr><td valign="top" style="width:229.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td valign="top" style="width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td valign="top" style="width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td valign="top" style="width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td valign="top" style="width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000080"><b>Common Stock</b></p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Beginning of period</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I231130_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5721">102,171</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I221130_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5722">101,457</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230531_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5723">102,127</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I220531_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5724">101,342</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Issuance of shares for employee stock purchase plan</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="D231201_240229_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5725">2</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="D221201_230228_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5726">5</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="D230601_240229_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5727">8</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="D220601_230228_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5728">20</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Issuance of shares for employee stock option plan</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D231201_240229_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5729">825</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D221201_230228_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5730">244</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D230601_240229_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5731">863</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D220601_230228_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5732">344</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;End of period</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5733">102,998</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5734">101,706</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5735">102,998</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5736">101,706</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:21.6pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000080"><b>Paid-in Capital</b></p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Beginning of period</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I231130_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5737">11,269,228</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I221130_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5738">10,394,127</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230531_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5739">10,947,089</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I220531_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5740">10,227,916</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Issuance of shares for employee stock purchase plan</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="D231201_240229_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5741">2,489</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="D221201_230228_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5742">2,429</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="D230601_240229_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5743">7,559</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="D220601_230228_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5744">8,083</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Issuance of shares for employee stock option plan</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D231201_240229_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5745">419,322</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D221201_230228_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5746">105,630</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D230601_240229_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5747">435,083</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D220601_230228_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5748">137,750</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Stock options issued for services</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="D231201_240229_StEqComps-AddPaidInCap" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5749">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="D221201_230228_StEqComps-AddPaidInCap" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5750">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="D230601_240229_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5751">301,308</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="D220601_230228_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5752">128,437</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;End of period</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5753">11,691,039</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5754">10,502,186</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5755">11,691,039</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5756">10,502,186</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:21.6pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000080"><b>Retained Earnings</b></p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Beginning of period</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I231130_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5757">45,957,467</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I221130_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5758">38,402,777</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230531_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5759">42,128,256</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I220531_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5760">35,840,898</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Net income</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D231201_240229_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5761">2,696,921</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D221201_230228_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5762">1,658,887</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D230601_240229_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5763">6,526,132</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D220601_230228_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5764">4,220,766</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;End of period</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5765">48,654,388</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5766">40,061,664</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5767">48,654,388</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5768">40,061,664</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:21.6pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000080"><b>Treasury Stock</b></p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Beginning of period</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b>(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I231130_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5769">3,100,541</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I221130_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5770">2,915,002</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b>(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230531_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5771">3,084,742</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I220531_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5772">2,915,002</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Issuance of shares for employee stock option plan</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b>(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D231201_240229_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5773">368,488</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D221201_230228_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5774">54,705</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b>(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D230601_240229_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5775">384,287</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="D220601_230228_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5776">54,705</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;Repurchase of shares</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b>(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfEquity" contextRef="D231201_240229_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5777">9,143,579</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfEquity" contextRef="D221201_230228_StEqComps-TreasuryStockCommon" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5778">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b>(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfEquity" contextRef="D230601_240229_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5779">9,143,579</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfEquity" contextRef="D220601_230228_StEqComps-TreasuryStockCommon" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5780">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:14.4pt"><td valign="bottom" style="width:229.55pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000000"> &#160;End of period</p>
</td><td valign="bottom" style="width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b>(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5781">12,612,608</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5782">2,969,707</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b>(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5783">12,612,608</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:67.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5784">2,969,707</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:21.6pt"><td valign="bottom" style="background-color:#EBEBEB;width:229.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000080">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt;color:#000080"><b>Total stockholders' equity</b></p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5785">47,835,817</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5786">47,695,849</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5787">47,835,817</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:1pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:67.55pt;border-top:0.5pt solid #000000;border-bottom:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:64pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="I230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5788">47,695,849</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><i>See notes to condensed consolidated financial statements.</i></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">6</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:12pt Times New Roman;margin:0">&#160;</p>
<a id="a4"></a><table style="margin:0 auto;border-collapse:collapse;width:529.05pt"><tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">TAYLOR DEVICES, INC. AND SUBSIDIARY</p>
</td><td valign="bottom" style="width:86.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>&#160;</b></p>
</td><td valign="bottom" style="width:14.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>&#160;</b></p>
</td><td valign="bottom" style="width:81.8pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:86.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:14.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Condensed Consolidated Statements of Cash Flows</b></p>
</td><td valign="bottom" style="width:86.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:14.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:182.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="color:#000080"><b>(Unaudited)</b></span></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:182.7pt"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">For the nine months ended</p>
</td><td valign="bottom" style="width:86.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>February 29,</b><br/><b>2024</b></p>
</td><td valign="bottom" style="width:14.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:center"><b>&#160;</b></p>
</td><td valign="bottom" style="width:81.8pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:86.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Operating activities:</b></p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0">Net income </p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5789">6,526,132</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5790">4,220,766</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0">Adjustments to reconcile net income to net cash flows from operating activities:</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Depreciation</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5791">1,341,435</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5792">1,003,924</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Amortization</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:AdjustmentForAmortization" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5793">1,852</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:AdjustmentForAmortization" contextRef="D220601_230228" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5794">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Stock options issued for services</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption" contextRef="D230601_240229" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5795">301,308</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption" contextRef="D220601_230228" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5796">128,437</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Changes in other assets and liabilities:</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:12pt"> Accounts and other receivables, net</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="D230601_240229" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5797">666,879</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5798">4,096,679</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:11.25pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:12pt"> Inventory</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5799">1,094,260</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="D220601_230228" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5800">414,140</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:12pt"> Costs and estimated earnings in excess of billings</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInUnbilledReceivables" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5801">409,837</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInUnbilledReceivables" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5802">437,513</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:12pt"> Other current assets</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" contextRef="D230601_240229" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5803">203,809</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5804">113,378</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:12pt"> Accounts payable</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" contextRef="D230601_240229" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5805">761,816</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5806">40,323</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:12pt Times New Roman;margin:0;margin-left:12pt"><span style="font-size:10pt"> Accrued expenses</span></p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" contextRef="D230601_240229" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5807">38,331</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" contextRef="D220601_230228" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5808">134,605</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:12pt"> Billings in excess of costs and estimated earnings</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings" contextRef="D230601_240229" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5809">32,184</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5810">315,233</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:12pt"> Other assets</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5811">27,343</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" contextRef="D220601_230228" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5812">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:12pt;color:#000080"><b> Net operating activities</b></p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5813">6,677,644</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5814">1,340,648</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Investing activities:</b></p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Acquisition of property and equipment</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5815">755,339</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5816">2,382,514</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Patent expenditures</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5817">300,000</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="D220601_230228" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5818">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Purchase of short-term investments</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:PaymentsToAcquireOtherInvestments" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5819">7,553,133</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:PaymentsToAcquireOtherInvestments" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5820">18,179,193</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Proceeds from sale of short-term investments</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:ProceedsFromSaleOfShortTermInvestments" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5821">10,500,000</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfShortTermInvestments" contextRef="D220601_230228" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5822">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Other investing activities</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5823">3,588</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5824">3,624</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt;color:#000080"><b> Net investing activities</b></p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5825">1,887,940</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="D220601_230228" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5826">20,565,331</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><b>Financing activities:</b></p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Proceeds from issuance of common stock, net</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5827">443,513</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5828">91,492</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"> Acquisition of treasury stock</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfOtherEquity" contextRef="D230601_240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5829">9,527,866</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfOtherEquity" contextRef="D220601_230228" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5830">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0;margin-left:6pt"><span style="color:#000080"><b> Net financing activities</b></span></p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="D230601_240229" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5831">9,084,353</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="D220601_230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5832">91,492</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0"> Net change in cash and cash equivalents</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b>(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="D230601_240229" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5833">518,769</ix:nonFraction>)</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="D220601_230228" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5834">19,133,191</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:346.35pt"><p style="font:10pt Times New Roman;margin:0"> Cash and cash equivalents - beginning</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5835">3,575,219</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="I220531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5836">22,517,038</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:9.95pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.95pt"><td valign="bottom" style="width:346.35pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"> Cash and cash equivalents - ending</p>
</td><td valign="bottom" style="width:86.6pt;padding-left:5.75pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"><b>$</b></kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:74pt"><b><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5837">3,056,450</ix:nonFraction>&#160;</b></kbd>&#160;</p>
</td><td valign="bottom" style="width:14.3pt;padding-right:5.75pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="width:81.8pt;padding-left:5.75pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="I230228" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5838">3,383,847</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:346.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:86.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:81.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:12pt Times New Roman;margin:0">&#160;</p>
<p style="font:12pt Times New Roman;margin:0"><span style="font-size:10pt"><i>See notes to condensed consolidated financial statements.</i></span></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">7</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:12pt Times New Roman;margin:0">&#160;</p>
<a id="a5"></a><p style="font:10pt Times New Roman;margin:0;color:#000000">TAYLOR DEVICES, INC.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<ix:nonNumeric name="srt:CondensedFinancialStatementsTextBlock" contextRef="D230601_240229" escape="true" continuedAt="c1" id="ixv-2540"><p style="font:10pt Times New Roman;margin:0;color:#000080"><span style="color:#000000"><b>Notes to Condensed Consolidated Financial Statements</b></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">1.</kbd>The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America for interim financial information and with the instructions to Form 10-Q. Accordingly, they do not include all the information and footnotes required by accounting principles generally accepted in the United States of America for complete financial statements. In the opinion of the Company, the accompanying unaudited condensed consolidated financial statements contain all adjustments (consisting of only normal recurring accruals) necessary to present fairly the financial position as of February 29, 2024 and May 31, 2023, the results of operations for the three and nine months ended February 29, 2024 and February 28, 2023, and cash flows for the nine months ended February 29, 2024 and February 28, 2023. These financial statements should be read in conjunction with the audited financial statements and notes thereto contained in the Company's Annual Report to Shareholders for the year ended May 31, 2023. &#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">2.</kbd>The Company has evaluated events and transactions for potential recognition or disclosure in the financial statements through the date the financial statements were issued.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">3.</kbd>There is no provision nor shall there be any provisions for profit sharing, dividends, or any other benefits of any nature at any time for this fiscal year.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">4.</kbd>For the nine-month periods ended February 29, 2024 and February 28, 2023, the net income was divided by 3,411,703 and 3,502,982 respectively, which is net of the Treasury shares, to calculate the net income per share. &#160;For the three-month periods ended February 29, 2024 and February 28, 2023, net income was divided by 3,302,497 and 3,505,849 respectively, which is net of the Treasury shares, to calculate the net income per share.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">5.</kbd>The results of operations for the three and nine-month periods ended February 29, 2024 are not necessarily indicative of the results to be expected for the full year.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">6.</kbd>Recently issued Financial Accounting Standards Board (FASB) Accounting Standards Codification (ASC) guidance has either been implemented or is not significant to the Company.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">7.</kbd>Short-term Investments:&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify">At times, the Company invests excess funds in liquid interest earning instruments. Short-term investments at February 29, 2024 and May 31, 2023 include &#8220;available for sale&#8221; money market funds, US treasury securities and corporate bonds stated at fair value, which approximates cost. The short-term investments (24) mature on various dates during the period March 2024 to December 2026. Unrealized holding gains and losses would be presented as a separate component of accumulated other comprehensive income, net of deferred income taxes. Realized gains and losses on the sale of investments are determined using the specific identification method.</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify">The short-term investments are valued using pricing models maximizing the use of observable inputs for similar securities. This includes basing value on yields currently available on comparable securities of issuers with similar credit ratings.</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">8.</kbd>Inventory:&#160;</p>
<ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" contextRef="D230601_240229" escape="true" id="ixv-2572"><p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td valign="top" style="width:189.05pt;border-bottom:0.75pt solid #000000"/><td valign="top" style="width:89.8pt;border-bottom:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29, 2024</p>
</td><td valign="top" style="width:4.15pt;border-bottom:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="width:77pt;border-bottom:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr><td valign="top" style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Raw materials</p>
</td><td valign="top" style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5839">795,623</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5840">673,453</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:189.05pt"><p style="font:10pt Times New Roman;margin:0">Work-in-process</p>
</td><td valign="top" style="width:89.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5841">5,658,693</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:4.15pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5842">5,005,416</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#EBEBEB;width:189.05pt"><p style="font:10pt Times New Roman;margin:0">Finished goods</p>
</td><td valign="top" style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5843">274,456</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5844">330,435</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:189.05pt"/><td valign="top" style="width:89.8pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5845">6,728,772</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:4.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="width:77pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5846">6,009,304</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#EBEBEB;width:189.05pt"><p style="font:10pt Times New Roman;margin:0">Less allowance for obsolescence</p>
</td><td valign="top" style="background-color:#EBEBEB;width:89.8pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5847">51,000</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:4.15pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:77pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5848">68,000</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:189.05pt;border-bottom:0.5pt solid #000000"/><td valign="top" style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5849">6,677,772</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5850">5,941,304</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;color:#000000;text-align:justify">&#160;</p>
</ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">8</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<ix:continuation id="c1"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">9.</kbd>Revenue Recognition:&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">Revenue is recognized (generally at fixed prices) when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations. </p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year) using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred costs represent work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Adjustments to cost estimates are made periodically, and losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the nine months ended February 29, 2024, 58% of revenue was recorded for contracts in which revenue was recognized over time while 42% was recognized at a point in time. In the nine months ended February 28, 2023, 62% of revenue was recorded for contracts in which revenue was recognized over time while 38% was recognized at a point in time. </p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">Progress payments are typically negotiated for longer term projects. Payments are otherwise due once performance obligations are complete (generally at shipment and transfer of title). For financial statement presentation purposes, the Company nets progress billings against the total costs incurred and estimated earnings recognized on uncompleted contracts. The asset, &#8220;costs and estimated earnings in excess of billings,&#8221; represents revenues recognized in excess of amounts billed. The liability, &#8220;billings in excess of costs and estimated earnings,&#8221; represents billings in excess of revenues recognized.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">If applicable, the Company recognizes an asset for the incremental, material costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year and the costs are expected to be recovered. As of February 29, 2024 and May 31, 2023, the Company does not have material incremental costs on any open contracts with an original expected duration of greater than one year, and therefore such costs are expensed as incurred. These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">10.</kbd>The February 28, 2023 statements of income have been reclassified to conform with the presentation adopted for February 29, 2024.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">11.</kbd>Accrued Expenses: &#160;</p>
<ix:nonNumeric name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" contextRef="D230601_240229" escape="true" id="ixv-2671"><p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td valign="top" style="width:189.05pt;border-bottom:0.75pt solid #000000"/><td valign="top" style="width:89.8pt;border-bottom:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> February 29, 2024</p>
</td><td valign="top" style="width:4.15pt;border-bottom:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="width:77pt;border-bottom:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr><td valign="top" style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Customer deposits</p>
</td><td valign="top" style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:CustomerDepositsCurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5851">363,641</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:CustomerDepositsCurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5852">367,902</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:189.05pt"><p style="font:10pt Times New Roman;margin:0">Personnel costs</p>
</td><td valign="top" style="width:89.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5853">2,919,543</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:4.15pt"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5854">3,023,501</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#EBEBEB;width:189.05pt"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td valign="top" style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5855">756,807</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5856">686,919</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:189.05pt;border-bottom:0.5pt solid #000000"/><td valign="top" style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" contextRef="I240229" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5857">4,039,991</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td valign="top" style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" contextRef="I230531" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5858">4,078,322</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:nonNumeric></ix:continuation><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">9</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<a id="a6"></a><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#000080"><b>Item 2. Management's Discussion and Analysis of Financial Condition and Results of Operations</b></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="border-bottom:1px solid #000000"><b>Cautionary Statement</b></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Private Securities Litigation Reform Act of 1995 provides a "safe harbor" for forward-looking statements. Information in this Item 2, "Management's Discussion and Analysis of Financial Condition and Results of Operations," and elsewhere in this 10-Q and its Exhibits that does not consist of historical facts, are "forward-looking statements." Statements accompanied or qualified by, or containing, words such as "may," "will," "should," "believes," "expects," "intends," "plans," "projects," "estimates," "predicts," "potential," "outlook," "forecast," "anticipates," "presume," and "assume" constitute forward-looking statements and, as such, are not a guarantee of future performance. The statements involve factors, risks and uncertainties, the impact or occurrence of which can cause actual results to differ materially from the expected results described in such statements. Risks and uncertainties can include, among others, reductions in capital budgets by our customers and potential customers; changing product demand and industry capacity; increased competition and pricing pressures; advances in technology that can reduce the demand for the Company's products; the kind, frequency and intensity of natural disasters that affect demand for the Company&#8217;s products; and other factors, many or all of which are beyond the Company's control. Consequently, investors should not place undue reliance on forward-looking statements as predictive of future results. The Company disclaims any obligation to release publicly any updates or revisions to the forward-looking statements herein to reflect any change in the Company's expectations with regard thereto, or any changes in events, conditions or circumstances on which any such statement is based.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><span style="border-bottom:1px solid #000000"><b>Results of Operations</b></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">A summary of the period-to-period changes in the principal items included in the condensed consolidated statements of income is shown below:</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td colspan="4" valign="bottom" style="width:334.25pt"><p style="font:10pt Times New Roman;margin:0"><b>Summary comparison of the nine months ended February 29, 2024 and February 28, 2023</b></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:228pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:13.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:79.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Increase /</p>
</td><td valign="top" style="width:13.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="width:228pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:13.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:79.45pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">(Decrease)</p>
</td><td valign="top" style="width:13.4pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:228pt"><p style="font:10pt Times New Roman;margin:0">Sales, net</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:13.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:79.45pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:67pt">3,038,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:13.4pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:228pt"><p style="font:10pt Times New Roman;margin:0">Cost of goods sold</p>
</td><td valign="bottom" style="width:13.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:79.45pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:67pt">212,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:13.4pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:228pt"><p style="font:10pt Times New Roman;margin:0">Research and development costs</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:13.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:79.45pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:67pt">(560,000)</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:13.4pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:228pt"><p style="font:10pt Times New Roman;margin:0">Selling, general and administrative expenses</p>
</td><td valign="bottom" style="width:13.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:79.45pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:67pt">1,160,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:13.4pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:228pt"><p style="font:10pt Times New Roman;margin:0">Other income, net</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:13.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:79.45pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:67pt">690,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:13.4pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:228pt"><p style="font:10pt Times New Roman;margin:0">Income before provision for income taxes</p>
</td><td valign="bottom" style="width:13.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:79.45pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:67pt">2,916,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:13.4pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:228pt"><p style="font:10pt Times New Roman;margin:0">Provision for income taxes</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:13.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:79.45pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:67pt">611,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:13.4pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:228pt"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td valign="bottom" style="width:13.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:79.45pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:67pt">2,305,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:13.4pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Sales under certain fixed-price contracts, in which the product has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date, inclusive of profit, are accounted for under the percentage-of-completion method of accounting whereby revenues are recognized based on estimates of completion prepared on a ratio of cost to total estimated cost basis. Costs include all material and direct and indirect charges related to specific contracts.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Adjustments to cost estimates are made periodically and any losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. However, any profits expected on contracts in progress are recognized over the life of the contract.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">For financial statement presentation purposes, the Company nets progress billings against the total costs incurred and estimated earnings recognized on uncompleted contracts. The asset, "costs and estimated earnings in excess of billings," represents revenues recognized in excess of amounts billed. The liability, "billings in excess of costs and estimated earnings," represents billings in excess of revenues recognized.</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">10</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><b>For the nine months ended February 29, 2024 </b>(All figures discussed are for the nine months ended February 29, 2024 as compared to the nine months ended February 28, 2023).</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:148pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="middle" style="width:139.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Nine months ended</p>
</td><td colspan="3" valign="middle" style="width:109.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Change</p>
</td></tr>
<tr style="height:14.35pt"><td valign="bottom" style="width:148pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:69.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:69.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td><td valign="bottom" style="width:57.3pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Amount </p>
</td><td valign="top" style="width:11.1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:40.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Percent</p>
</td></tr>
<tr style="height:13.5pt"><td valign="middle" style="background-color:#EBEBEB;width:148pt"><p style="font:10pt Times New Roman;margin:0">Net Revenue</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:69.85pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:57pt">32,518,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:69.85pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:57pt">29,480,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:57.3pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:1pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:51pt">3,038,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.1pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:40.8pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">10%</p>
</td></tr>
<tr style="height:15.75pt"><td valign="middle" style="width:148pt"><p style="font:10pt Times New Roman;margin:0">Cost of sales</p>
</td><td valign="middle" style="width:69.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:57pt">17,570,000</kbd>&#160;</p>
</td><td valign="middle" style="width:69.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:57pt">17,358,000</kbd>&#160;</p>
</td><td valign="middle" style="width:57.3pt;padding-left:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:51pt">212,000</kbd>&#160;</p>
</td><td valign="middle" style="width:11.1pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:40.8pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 1%</p>
</td></tr>
<tr style="height:17.25pt"><td valign="middle" style="background-color:#EBEBEB;width:148pt"><p style="font:10pt Times New Roman;margin:0">Gross profit</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:69.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:57pt">14,948,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:69.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:57pt">12,122,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:57.3pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:1pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:51pt">2,826,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.1pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;margin-left:-0.9pt">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:40.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">23%</p>
</td></tr>
<tr style="height:13.5pt"><td valign="middle" style="width:148pt"><p style="font:10pt Times New Roman;margin:0">&#8230; as a percentage of net revenues</p>
</td><td valign="middle" style="width:69.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">46%</p>
</td><td valign="middle" style="width:69.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">41%</p>
</td><td valign="middle" style="width:57.3pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:11.1pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:40.8pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">The Company's consolidated results of operations showed a 10% increase in net revenues and an increase in net income of 55%. Revenues recorded in the current period for long-term projects (&#8220;Project(s)&#8221;) were 5% more than the level recorded in the prior year. The Company had 34 Projects in process during the current period as compared to 45 during the same period last year. Revenues recorded in the current period for other-than long-term projects (non-projects) were 19% more than the level recorded in the prior year. Total sales within the U.S. increased 21% from the same period last year. Total sales to Asia decreased 53% from the same period of the prior year. Sales increases were recorded over the same period last year to customers in aerospace / defense (88%) with decreases to customers involved in construction of buildings and bridges (-35%) and to industrial customers (-18%). The increase in aerospace / defense sales is due, in part, to a combination of providing production hardware on several legacy programs and new development programs.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The gross profit as a percentage of net revenue of 46% in the current period is five percentage points greater than the same period of the prior year (41%). Management continues to work with suppliers to obtain more visibility of conditions affecting their respective markets. These actions combined with benefits from the Company&#8217;s continuous improvement initiatives and increased volume have helped to improve the gross margin as a percentage of revenue over the prior year.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Sales of the Company&#8217;s products are made to three general groups of customers: industrial, structural and aerospace / defense. A breakdown of sales to the three general groups of customers is as follows: </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:101.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:139.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Nine months ended</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:101.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td valign="bottom" style="width:68.9pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:70.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:101.55pt"><p style="font:10pt Times New Roman;margin:0">Industrial</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:68.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">8%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:70.8pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 10%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:101.55pt"><p style="font:10pt Times New Roman;margin:0">Structural</p>
</td><td valign="bottom" style="width:68.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">31%</p>
</td><td valign="bottom" style="width:70.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">54%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:101.55pt"><p style="font:10pt Times New Roman;margin:0">Aerospace / Defense</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:68.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">61%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:70.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">36%</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">At February 28, 2023, the Company had 125 open sales orders in our backlog with a total sales value of $27.8 million. At February 29, 2024, the Company has 131 open sales orders in our backlog, and the total sales value is $30.2 million. The Company expects to recognize revenue for the majority of the backlog during the 2024 and 2025 fiscal years.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Company's backlog, revenues, gross profits, and net income fluctuate from period to period. The changes in the current period, compared to the prior period, are not necessarily representative of future results.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Net revenue by geographic region, as a percentage of total net revenue for the nine-month periods ended February 29, 2024 and February 28, 2023, is as follows:</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:101.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:139.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Nine months ended</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:101.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td valign="bottom" style="width:69.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:69.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:101.55pt"><p style="font:10pt Times New Roman;margin:0">USA</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:69.85pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">90%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:69.85pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">81%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:101.55pt"><p style="font:10pt Times New Roman;margin:0">Asia</p>
</td><td valign="bottom" style="width:69.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 5%</p>
</td><td valign="bottom" style="width:69.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">12%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:101.55pt"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:69.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 5%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:69.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 7%</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">11</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Research and Development Costs</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:148pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="middle" style="width:134.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-5.4pt;text-align:center">Nine months ended</p>
</td><td colspan="3" valign="middle" style="width:109.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Change</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:148pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:67.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:67.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td><td valign="bottom" style="width:52.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> Amount </p>
</td><td valign="top" style="width:11.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:44.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Percent</p>
</td></tr>
<tr style="height:12.75pt"><td valign="middle" style="background-color:#EBEBEB;width:148pt"><p style="font:10pt Times New Roman;margin:0">R &amp; D</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:67.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 321,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:67.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 881,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:52.85pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ (560,000)</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.95pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:44.4pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-64%</p>
</td></tr>
<tr style="height:20.25pt"><td valign="middle" style="width:148pt"><p style="font:10pt Times New Roman;margin:0">&#8230; as a percentage of net revenues</p>
</td><td valign="middle" style="width:67.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">1.0%</p>
</td><td valign="middle" style="width:67.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">3.0%</p>
</td><td valign="middle" style="width:52.85pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:11.95pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:44.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Research and development costs declined 64% from the prior year due to the completion of the Taylor Damped Moment Frame&#8482; project.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Selling, General and Administrative Expenses</p>
<p style="font:10pt Times New Roman;margin:0;margin-right:18pt;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:148pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="middle" style="width:134.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-5.4pt;text-align:center">Nine months ended</p>
</td><td colspan="3" valign="middle" style="width:113.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Change</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:148pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:67.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:67.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td><td valign="bottom" style="width:55.2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:3.75pt;text-align:center"> Amount </p>
</td><td valign="top" style="width:13.5pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:45pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Percent</p>
</td></tr>
<tr style="height:12.75pt"><td valign="middle" style="background-color:#EBEBEB;width:148pt"><p style="font:10pt Times New Roman;margin:0">S G &amp; A</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:67.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 7,660,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:67.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 6,500,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:55.2pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$1,160,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:13.5pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:45pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">18%</p>
</td></tr>
<tr style="height:15.75pt"><td valign="middle" style="width:148pt"><p style="font:10pt Times New Roman;margin:0">&#8230; as a percentage of net revenues</p>
</td><td valign="middle" style="width:67.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">24%</p>
</td><td valign="middle" style="width:67.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">22%</p>
</td><td valign="middle" style="width:55.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:13.5pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Selling, general and administrative expenses increased by 18% from the prior year. This change is primarily due to increased employee compensation costs including incentive compensation.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The above factors resulted in an operating income of $6,966,000 for the nine months ended February 29, 2024, 47% more than the $4,740,000 in the same period of the prior year. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td colspan="4" valign="bottom" style="width:369.7pt"><p style="font:10pt Times New Roman;margin:0"><b>Summary comparison of the three months ended February 29, 2024 and February 28, 2023</b></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:276.8pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:11.85pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:69.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Increase /</p>
</td><td valign="top" style="width:11.85pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="width:276.8pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:11.85pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:69.2pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">(Decrease)</p>
</td><td valign="top" style="width:11.85pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:276.8pt"><p style="font:10pt Times New Roman;margin:0">Sales, net</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:69.2pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt">2,363,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.85pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:276.8pt"><p style="font:10pt Times New Roman;margin:0">Cost of goods sold</p>
</td><td valign="bottom" style="width:11.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:69.2pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt">872,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:11.85pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:276.8pt"><p style="font:10pt Times New Roman;margin:0">Research and development costs</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:69.2pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt">(82,000)</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.85pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:276.8pt"><p style="font:10pt Times New Roman;margin:0">Selling, general and administrative expenses</p>
</td><td valign="bottom" style="width:11.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:69.2pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt">385,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:11.85pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:276.8pt"><p style="font:10pt Times New Roman;margin:0">Other income, net</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:69.2pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt">123,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.85pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:276.8pt"><p style="font:10pt Times New Roman;margin:0">Income before provision for income taxes</p>
</td><td valign="bottom" style="width:11.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:69.2pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt">1,311,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:11.85pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:276.8pt"><p style="font:10pt Times New Roman;margin:0">Provision for income taxes</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:69.2pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt">273,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.85pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:276.8pt"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td valign="bottom" style="width:11.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:69.2pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:59pt">1,038,000&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:11.85pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Sales under certain fixed-price contracts, in which the product has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date, inclusive of profit, are accounted for under the percentage-of-completion method of accounting whereby revenues are recognized based on estimates of completion prepared on a ratio of cost to total estimated cost basis. &#160;Costs include all material and direct and indirect charges related to specific contracts.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Adjustments to cost estimates are made periodically and any losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. &#160;However, any profits expected on contracts in progress are recognized over the life of the contract.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">For financial statement presentation purposes, the Company nets progress billings against the total costs incurred and estimated earnings recognized on uncompleted contracts. &#160;The asset, "costs and estimated earnings in excess of billings," represents revenues recognized in excess of amounts billed. &#160;The liability, "billings in excess of costs and estimated earnings," represents billings in excess of revenues recognized.</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">12</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><b>For the three months ended February 29, 2024 </b>(All figures discussed are for the three months ended February 29, 2024 as compared to the three months ended February 28, 2023).</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:148pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="middle" style="width:149.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Three months ended</p>
</td><td colspan="3" valign="middle" style="width:116.45pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Change</p>
</td></tr>
<tr style="height:14.35pt"><td valign="bottom" style="width:148pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:76.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:72.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td><td valign="bottom" style="width:64.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Amount </p>
</td><td valign="top" style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:40.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Percent</p>
</td></tr>
<tr style="height:13.5pt"><td valign="middle" style="background-color:#EBEBEB;width:148pt"><p style="font:10pt Times New Roman;margin:0">Net Revenue</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:76.95pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt">12,254,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:72.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:56pt">9,891,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:64.55pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:55pt">2,363,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.1pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:40.8pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;24%</p>
</td></tr>
<tr style="height:15.75pt"><td valign="middle" style="width:148pt"><p style="font:10pt Times New Roman;margin:0">Cost of sales</p>
</td><td valign="middle" style="width:76.95pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt">6,501,000</kbd>&#160;</p>
</td><td valign="middle" style="width:72.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:56pt">5,629,000</kbd>&#160;</p>
</td><td valign="middle" style="width:64.55pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:55pt">872,000</kbd>&#160;</p>
</td><td valign="middle" style="width:11.1pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:40.8pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;15%</p>
</td></tr>
<tr style="height:17.25pt"><td valign="middle" style="background-color:#EBEBEB;width:148pt"><p style="font:10pt Times New Roman;margin:0">Gross profit</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:76.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:60pt">5,753,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:72.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:56pt">4,262,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:64.55pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:55pt">1,491,000</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.1pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;margin-left:-0.9pt">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:40.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;35%</p>
</td></tr>
<tr style="height:13.5pt"><td valign="middle" style="width:148pt"><p style="font:10pt Times New Roman;margin:0">&#8230; as a percentage of net revenues</p>
</td><td valign="middle" style="width:76.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">47%</p>
</td><td valign="middle" style="width:72.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">43%</p>
</td><td valign="middle" style="width:64.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:11.1pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:40.8pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">The Company's consolidated results of operations showed a 24% increase in net revenues and $1.0 million increase in net income. &#160;Revenues recorded in the current period for Projects were 20% more than the level recorded in the prior year. &#160;The Company had 16 Projects in process during the current period as compared to 29 during the same period last year. &#160;Revenues recorded in the current period for other-than long-term construction projects (non-projects) were 30% more than the level recorded in the prior year. Total sales within the U.S. increased 36% from the same period last year. &#160;Total sales to Asia decreased 99% from the same period of the prior year. &#160;Sales increases were recorded over the same period last year to customers in aerospace / defense (108%) and industrial customers (13%) with a decrease to customers involved in construction of buildings and bridges (-33%). &#160;The circumstances affecting the fluctuations in revenue levels are as identified in the year-to-date comparisons, above. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The gross profit as a percentage of net revenue of 47% in the current period is four percentage points higher than the same period of the prior year (43%). &#160;The Company has been able to increase sales prices to recover more of the increased costs for materials and labor that were incurred over the past year. &#160;Management continues to work with suppliers to obtain more visibility of conditions affecting their respective markets. These actions combined with benefits from the Company&#8217;s continuous improvement initiatives and increased volume have helped to improve the gross margin as a percentage of revenue over the prior year.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Sales of the Company&#8217;s products are made to three general groups of customers: industrial, structural and aerospace / defense. &#160;A breakdown of sales to the three general groups of customers is as follows: </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:93.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:149.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Three months ended</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:93.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:74.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:74.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:93.6pt"><p style="font:10pt Times New Roman;margin:0">Industrial</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:74.85pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;8%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:74.85pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">8%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:93.6pt"><p style="font:10pt Times New Roman;margin:0">Structural</p>
</td><td valign="bottom" style="width:74.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">29%</p>
</td><td valign="bottom" style="width:74.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">54%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:93.6pt"><p style="font:10pt Times New Roman;margin:0">Aerospace / Defense</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:74.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">63%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:74.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">38%</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Net revenue by geographic region, as a percentage of total net revenue for the three-month periods ended February 29, 2024 and February 28, 2023, is as follows:</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:33.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:149.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Three months ended</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:33.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:74.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:74.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:33.6pt"><p style="font:10pt Times New Roman;margin:0">USA</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:74.85pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">94%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:74.85pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">85%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:33.6pt"><p style="font:10pt Times New Roman;margin:0">Asia</p>
</td><td valign="bottom" style="width:74.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 0%</p>
</td><td valign="bottom" style="width:74.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">9%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:33.6pt"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:74.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">6%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:74.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">6%</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Research and Development Costs</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:155.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="middle" style="width:144.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-5.4pt;text-align:center">Three months ended</p>
</td><td colspan="3" valign="middle" style="width:104.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Change</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:155.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:68.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:75.9pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td><td valign="bottom" style="width:52.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> Amount </p>
</td><td valign="top" style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:40.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Percent</p>
</td></tr>
<tr style="height:12.75pt"><td valign="middle" style="background-color:#EBEBEB;width:155.6pt"><p style="font:10pt Times New Roman;margin:0">R &amp; D</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:68.4pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 108,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:75.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 190,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:52.85pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ (82,000)</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.1pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:40.8pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-43%</p>
</td></tr>
<tr style="height:20.25pt"><td valign="middle" style="width:155.6pt"><p style="font:10pt Times New Roman;margin:0">&#8230; as a percentage of net revenues</p>
</td><td valign="middle" style="width:68.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">0.9%</p>
</td><td valign="middle" style="width:75.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">1.9%</p>
</td><td valign="middle" style="width:52.85pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:11.1pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:40.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Research and development costs declined 43% from the prior year due to the completion of the Taylor Damped Moment Frame&#8482; project.</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">13</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Selling, General and Administrative Expenses</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:155.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="middle" style="width:144.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-5.4pt;text-align:center">Three months ended</p>
</td><td colspan="3" valign="middle" style="width:98.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Change</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:155.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:72.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29,<br/>2024</p>
</td><td valign="bottom" style="width:72.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 28,<br/>2023</p>
</td><td valign="bottom" style="width:46.5pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> Amount </p>
</td><td valign="top" style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:40.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Percent</p>
</td></tr>
<tr style="height:12.75pt"><td valign="middle" style="background-color:#EBEBEB;width:155.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">S G &amp; A </p>
</td><td valign="middle" style="background-color:#EBEBEB;width:72.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 2,651,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:72.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 2,266,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:46.5pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$ 385,000</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:11.1pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#EBEBEB;width:40.8pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">17%</p>
</td></tr>
<tr style="height:20.25pt"><td valign="middle" style="width:155.6pt"><p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#8230;&#160;as a percentage of net revenues</p>
</td><td valign="middle" style="width:72.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">22%</p>
</td><td valign="middle" style="width:72.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">23%</p>
</td><td valign="middle" style="width:46.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:11.1pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:40.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Selling, general and administrative expenses increased 17% from the prior year. &#160;This change is primarily due to increased employee compensation costs including incentive compensation.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The above factors resulted in an operating income of $2,993,000 for the three months ended February 29, 2024, better than the $1,805,000 in the same period of the prior year. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><b>Stock Options</b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Company has a stock option plan which provides for the granting of nonqualified or incentive stock options to officers, key employees and non-employee directors. Options granted under the plan are exercisable over a ten-year term. Options not exercised at the end of the term expire. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Company expenses stock options using the fair value recognition provisions of the FASB ASC. &#160;The Company recognized $301,000 and $128,000 of compensation cost for the nine-month periods ended February 29, 2024 and February 28, 2023.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The fair value of each stock option grant has been determined using the Black-Scholes model. &#160;The model considers assumptions related to exercise price, expected volatility, risk-free interest rate, and the weighted average expected term of the stock option grants. &#160;Expected volatility assumptions used in the model were based on volatility of the Company's stock price for the thirty-month period ending on the date of grant. &#160;The risk-free interest rate is derived from the U.S. treasury yield. &#160;The Company used a weighted average expected term. &#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The following assumptions were used in the Black-Scholes model to estimate the fair market value of the Company's stock option grants:</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:313.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:53.05pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February<br/>2024</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:53.05pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February<br/>2023</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:313.25pt"><p style="font:10pt Times New Roman;margin:0">Risk-free interest rate:</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">3.875%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">1.625%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:313.25pt"><p style="font:10pt Times New Roman;margin:0">Expected life of the options:</p>
</td><td valign="bottom" style="width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">4.2 years</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">4.1 years</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:313.25pt"><p style="font:10pt Times New Roman;margin:0">Expected share price volatility:</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">36%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">30%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:313.25pt"><p style="font:10pt Times New Roman;margin:0">Expected dividends:</p>
</td><td valign="bottom" style="width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">zero</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">zero</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:313.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:313.25pt"><p style="font:10pt Times New Roman;margin:0">These assumptions resulted in estimated fair-market value per stock option:</p>
</td><td valign="bottom" style="width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">$7.17</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:53.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">$3.06</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The ultimate value of the options will depend on the future price of the Company's common stock, which cannot be forecast with reasonable accuracy. &#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">A summary of changes in the stock options outstanding during the nine-month period ended February 29, 2024 is presented below:</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:54.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:68.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Weighted-</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:54.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Number of</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:68.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Average</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:54.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Options</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:68.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Exercise Price</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Options outstanding and exercisable at May 31, 2023:</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.4pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">333,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:68.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">12.70</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Options granted:</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:54.4pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">42,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:68.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">20.78</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Less: Options exercised:</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.4pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">34,500</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:68.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">12.79</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Less: Options expired:</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:54.4pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">750</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:68.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">-</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Options outstanding and exercisable at February 29, 2024:</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.4pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">339,750</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:68.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">13.70</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Closing value per share on NASDAQ at February 29, 2024:</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:54.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:68.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">35.98</kbd>&#160;</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">14</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"><b>Capital Resources and Long-Term Debt</b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Company's primary liquidity is dependent upon its working capital needs. These are primarily short-term investments, inventory, accounts receivable, costs and estimated earnings in excess of billings, accounts payable, accrued expenses and billings in excess of costs and estimated earnings. The Company's primary source of liquidity has been operations. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:12pt Times New Roman;margin:0;text-align:justify"><span style="font-size:10pt">Capital expenditures for the nine months ended February 29, 2024 were $755,000 compared to $2,383,000 in the same period of the prior year. In addition, the Company acquired Pumpkin&#8482; Mounts intellectual property during the quarter for $300,000. As of February 29, 2024, the Company has commitments for capital expenditures totaling $337,000 during the next twelve months. The Board of Directors is evaluating additional capital expenditures to expand capacity.</span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">The Company believes it is carrying adequate insurance coverage on its facilities and their contents.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"><b>Inventory and Maintenance Inventory</b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"></p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;</p>
</td><td colspan="2" valign="bottom" style="width:87.85pt;padding-left:3.6pt;padding-right:3.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29, 2024</p>
</td><td colspan="2" valign="bottom" style="width:87.85pt;padding-left:3.6pt;padding-right:3.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td><td colspan="3" valign="bottom" style="width:96.15pt;padding-left:3.6pt;padding-right:3.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Increase /(Decrease)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">Raw materials</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">796,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:33.05pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">674,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:33.05pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:52.55pt;padding-left:3.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:49pt">122,000&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:8.2pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"> &#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:35.4pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"> 18%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">Work-in-process</p>
</td><td valign="bottom" style="width:54.8pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">5,659,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:54.8pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">5,005,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:52.55pt;padding-left:3.6pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:49pt">654,000&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:8.2pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:35.4pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> 13%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">Finished goods</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.8pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">223,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.8pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">262,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:52.55pt;padding-left:3.6pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:49pt">(39,000)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:8.2pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-3pt">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:35.4pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> -15%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">Inventory</p>
</td><td valign="bottom" style="width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">6,678,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">83%</p>
</td><td valign="bottom" style="width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">5,941,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">86%</p>
</td><td valign="bottom" style="width:52.55pt;padding-left:3.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:49pt">737,000&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:8.2pt;padding-left:3.6pt;padding-right:3.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:35.4pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> 12%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">Maintenance and other inventory</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">1,361,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">17%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">1,003,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">14%</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:52.55pt;padding-left:3.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:49pt">358,000&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:8.2pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:35.4pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> 36%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td valign="bottom" style="width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">8,039,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">100%</p>
</td><td valign="bottom" style="width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">6,944,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">100%</p>
</td><td valign="bottom" style="width:52.55pt;padding-left:3.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:49pt">1,095,000&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:8.2pt;padding-left:3.6pt;padding-right:3.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:35.4pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> 16%</p>
</td></tr>
<tr style="height:5.25pt"><td valign="bottom" style="background-color:#EBEBEB;width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0"> &#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:54.8pt;padding-left:3.6pt;padding-right:3.6pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0"> &#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:52.55pt;padding-left:3.6pt;padding-right:3.6pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:8.2pt;padding-left:3.6pt;padding-right:3.6pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:35.4pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:142.15pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">Inventory turnover</p>
</td><td valign="bottom" style="width:54.8pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">3.1</p>
</td><td valign="bottom" style="width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:54.8pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">3.5</p>
</td><td valign="bottom" style="width:33.05pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:52.55pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:8.2pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:35.4pt;padding-left:3.6pt;padding-right:3.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:6pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:6pt Times New Roman;margin:0;color:#000000;text-align:justify"><span style="font-size:10pt">NOTE: Inventory turnover is annualized for the nine-month period ended February 29, 2024.</span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Inventory, at $6,678,000 as of February 29, 2024, is $737,000 more than the prior year-end level of $5,941,000. Approximately 85% of the current inventory is work in process, 3% is finished goods, and 12% is raw materials. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Maintenance and other inventory represent stock that is estimated to have a product life cycle in excess of twelve months. This stock represents certain items the Company is required to maintain for service of products sold and items that are generally subject to spontaneous ordering. This inventory is particularly sensitive to technological obsolescence in the near term due to its use in industries characterized by the continuous introduction of new product lines, rapid technological advances and product obsolescence. Management of the Company has recorded an allowance for potential inventory obsolescence. The provision for potential inventory obsolescence was $369,000 and $68,000 for the nine-month periods ended February 29, 2024 and February 28, 2023. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"><b>Accounts Receivable, Costs and Estimated Earnings in Excess of Billings (&#8220;CIEB"), and Billings in Excess of Costs and Estimated Earnings ("BIEC")</b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:143.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td colspan="2" valign="bottom" style="width:80.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29, 2024</p>
</td><td colspan="2" valign="bottom" style="width:56.4pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:-8.25pt;margin-left:8.25pt;text-align:center">May 31, 2023</p>
</td><td colspan="3" valign="bottom" style="width:89.95pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Increase /(Decrease)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:143.9pt"><p style="font:10pt Times New Roman;margin:0">Accounts receivable</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:79.8pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:73pt">4,887,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:0.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:56.05pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:3pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">5,554,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:0.35pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:56.65pt;padding-left:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:51pt">(667,000)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:9.1pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:24.2pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> -12%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:143.9pt"><p style="font:10pt Times New Roman;margin:0">CIEB</p>
</td><td valign="bottom" style="width:79.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:73pt">4,534,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:0.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:56.05pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">4,124,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:0.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:56.65pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:51pt">410,000&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:9.1pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:24.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;10%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:143.9pt"><p style="font:10pt Times New Roman;margin:0">Less: BIEC</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:79.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:73pt">1,960,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:0.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:56.05pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">1,992,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:0.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:56.65pt;padding-left:5.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:51pt">(32,000)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:9.1pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:24.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;-2%</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="width:143.9pt"><p style="font:10pt Times New Roman;margin:0">Net</p>
</td><td valign="bottom" style="width:79.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:73pt">7,461,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:0.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:56.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:3pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">7,686,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:0.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:56.65pt;padding-left:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:51pt">(225,000)</kbd>&#160;</p>
</td><td valign="bottom" style="width:9.1pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:24.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;-3%</p>
</td></tr>
<tr style="height:4.5pt"><td valign="bottom" style="background-color:#EBEBEB;width:143.9pt"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:79.8pt"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:0.5pt"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:56.05pt"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:0.35pt"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:56.65pt"><p style="font:6pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:9.1pt;padding-right:5.75pt"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:24.2pt"><p style="font:6pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:25.5pt"><td valign="bottom" style="width:143.9pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Number of an average day&#8217;s sales<br/>outstanding in accounts receivable</p>
</td><td valign="bottom" style="width:79.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">36</p>
</td><td valign="bottom" style="width:0.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:56.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">47</p>
</td><td valign="bottom" style="width:0.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:56.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:9.1pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:24.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Company combines the totals of accounts receivable, the current asset, CIEB, and the current liability, BIEC, to determine how much cash the Company will eventually realize from revenue recorded to date. As the accounts receivable figure rises in relation to the other two figures, the Company can anticipate increased cash receipts within the ensuing 30-60 days. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Accounts receivable of $4,887,000 as of February 29, 2024 includes $29,000 of an allowance for doubtful accounts (&#8220;Allowance&#8221;). The accounts receivable balance as of May 31, 2023 of $5,554,000 included an Allowance of $29,000. The number of an average day's sales outstanding in accounts receivable (&#8220;DSO&#8221;) decreased from 47 days at May 31, 2023 to 36 at February 29, 2024. The DSO is a function of 1.) the level of sales for an average day (for example, total sales for the past three months divided by 90 days) and 2.) the level of accounts receivable at the balance sheet date. The Company expects to collect the net accounts receivable balance during the next twelve months.</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">15</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">As noted above, CIEB represents revenues recognized in excess of amounts billed. Whenever possible, the Company negotiates a provision in sales contracts to allow the Company to bill, and collect from the customer, payments in advance of shipments. Unfortunately, such provisions are often not possible. The $4,534,000 balance in this account at February 29, 2024 is 10% more than the prior year-end balance. This increase is the result of normal flow of the Projects through production with billings to the customers as permitted in the related contracts. The Company expects to bill the entire amount during the next twelve months. 13% of the CIEB balance as of the end of the last fiscal quarter, November 30, 2023, was billed to those customers in the current fiscal quarter ended February 29, 2024. The remainder will be billed as the Projects progress, in accordance with the terms specified in the various contracts.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The balances in this account are comprised of the following components:</p>
<p style="font:6pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:135.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:90.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29, 2024</p>
</td><td valign="bottom" style="width:66.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:135.75pt"><p style="font:10pt Times New Roman;margin:0">Costs</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:76.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">6,635,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.45pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.7pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:3pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">3,006,000</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:135.75pt"><p style="font:10pt Times New Roman;margin:0">Estimated Earnings</p>
</td><td valign="bottom" style="width:76.15pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">6,774,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:14.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:66.7pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">2,648,000</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:135.75pt"><p style="font:10pt Times New Roman;margin:0">Less: Billings to customers</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:76.15pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">8,875,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">1,530,000</kbd>&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="width:135.75pt"><p style="font:10pt Times New Roman;margin:0">CIEB</p>
</td><td valign="bottom" style="width:76.15pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">4,534,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:14.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:66.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:3pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">4,124,000</kbd>&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="background-color:#EBEBEB;width:135.75pt"><p style="font:10pt Times New Roman;margin:0">Number of Projects in progress</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:76.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">7</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:14.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.7pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">12</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">As noted above, BIEC represents billings to customers in excess of revenues recognized. The $1,960,000 balance in this account at February 29, 2024 is down 2% from the $1,992,000 balance at the end of the prior year. The balance in this account fluctuates in the same manner and for the same reasons as the CIEB, discussed above. Final delivery of product under these contracts is expected to occur during the next twelve months.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">The balances in this account are comprised of the following components:</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:130.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:85.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29, 2024</p>
</td><td valign="bottom" style="width:61.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:130.35pt"><p style="font:10pt Times New Roman;margin:0">Billings to customers</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:77.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:65pt">3,182,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:8.05pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:61.3pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:3pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">6,538,000</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:130.35pt"><p style="font:10pt Times New Roman;margin:0">Less: Costs</p>
</td><td valign="bottom" style="width:77.15pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:65pt">789,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:8.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:61.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">2,343,000</kbd>&#160;</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#EBEBEB;width:130.35pt"><p style="font:10pt Times New Roman;margin:0">Less: Estimated Earnings</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:77.15pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:65pt">433,000</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:8.05pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:61.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">2,203,000</kbd>&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="width:130.35pt"><p style="font:10pt Times New Roman;margin:0">BIEC</p>
</td><td valign="bottom" style="width:77.15pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:65pt">1,960,000</kbd>&#160;</p>
</td><td valign="bottom" style="width:8.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:61.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:3pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:53pt">1,992,000</kbd>&#160;</p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="background-color:#EBEBEB;width:130.35pt"><p style="font:10pt Times New Roman;margin:0">Number of Projects in progress</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:77.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">9</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:8.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:61.3pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">10</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Summary of factors affecting the balances in CIEB and BIEC:</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:12.75pt"><td valign="bottom" style="width:203.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:90.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29, 2024</p>
</td><td valign="bottom" style="width:66.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr style="height:12.75pt"><td valign="top" style="background-color:#EBEBEB;width:203.2pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Number of Projects in progress</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:75.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">16</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.7pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">22</p>
</td></tr>
<tr style="height:12.75pt"><td valign="top" style="width:203.2pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Aggregate percent complete</p>
</td><td valign="bottom" style="width:75.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 43%</p>
</td><td valign="bottom" style="width:15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:66.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 33%</p>
</td></tr>
<tr style="height:12.75pt"><td valign="top" style="background-color:#EBEBEB;width:203.2pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Average total sales value of Projects in progress</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:75.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">$1,924,000</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="background-color:#EBEBEB;width:66.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">$1,285,000</p>
</td></tr>
<tr style="height:12.75pt"><td valign="top" style="width:203.2pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Percentage of total value invoiced to customer</p>
</td><td valign="bottom" style="width:75.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 39%</p>
</td><td valign="bottom" style="width:15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:66.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> 29%</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Company's backlog of sales orders at February 29, 2024 is $30.2 million, down from $32.5 million at the end of the prior year. $16.1 million of the current backlog is on Projects already in progress. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><b>Other Balance Sheet Items</b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Accounts payable, at $956,000 as of February 29, 2024, is 44% less than the prior year-end. Accrued expenses decreased 1% from the prior year-end, to $4,040,000. The Company expects the current accrued amounts to be paid or applied during the next twelve months.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Management believes the Company's cash flows from operations are sufficient to fund ongoing operations and capital improvements for the next twelve months.</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">16</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">On January 4, 2024, the Company entered into a Redemption Agreement to purchase 459,015 shares of the capital stock of the Company, representing approximately 13% of all of the issued and outstanding shares of capital stock of the Company from the Ira Sochet Trust and the Ira Sochet Roth IRA, non-affiliates of the Company. &#160;The agreed purchase price was $19.92 per share, (87.6%) of the average price at which shares of the Company's stock trade on the Closing Date on January 8, 2024.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<a id="a7"></a><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:justify"><span style="color:#000000"><b>Item 3. Quantitative and Qualitative Disclosures About Market Risk</b></span></p>
<p style="font:12pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Smaller reporting companies are not required to provide the information called for by this item.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:justify">&#160;</p>
<a id="a8"></a><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:justify"><span style="color:#000000"><b>Item 4. Controls and Procedures</b></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:36pt">(a) </kbd><kbd style="margin-left:72pt"></kbd><i>Evaluation of disclosure controls and procedures</i>. &#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Company's principal executive officer and principal financial officer have evaluated the Company's disclosure controls and procedures as of February 29, 2024 and have concluded that as of the evaluation date, the disclosure controls and procedures were effective to ensure that information required to be disclosed in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the Commission&#8217;s rules and forms and that information required to be disclosed in the reports we file or submit under the Exchange Act is accumulated and communicated to our management, including our chief executive officer and chief financial officer to allow timely decisions regarding required disclosure.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:36pt">(b) </kbd><kbd style="margin-left:72pt"></kbd><i>Changes in internal control over financial reporting</i>. &#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:12pt Times New Roman;margin:0;text-align:justify"><span style="font-size:10pt">There have been no changes in the Company's internal controls over financial reporting that occurred during the fiscal quarter ended February 29, 2024 that have materially affected, or are reasonably likely to materially affect, the Company's control over financial reporting.</span></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">17</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:justify"><span style="color:#000000"><b>Part II - Other Information</b></span></p>
<p style="font:12pt Times New Roman;margin:0">&#160;</p>
</div>
<div style="margin-left:36pt"><table style="border-collapse:collapse;width:508.25pt"><tr style="height:4pt"><td colspan="2" valign="top" style="width:54.75pt"><p style="font:9pt Times New Roman;margin:0;color:#000000">ITEM&#160;1&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;color:#000000;text-align:justify">Legal&#160;Proceedings&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;color:#000000;text-align:justify">Taylor Devices Inc. (the &#8220;Company&#8221;) has been named as a Third-Party Defendant in an action captioned Board of Managers of the 432 Park Condominium, et al. v. 56<span style="vertical-align:super">th</span> and Park (NY) Owner LLC, et al. Index No. 655617/2021 (S.Ct. N.Y. Co.) (the &#8220;Action&#8221;). </p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;color:#000000;text-align:justify">The Action was filed on or about September 23, 2021. In an amended Complaint dated April 29, 2022, the Board of Managers of 432 Park Condominium (the &#8220;Owner&#8221;), a condominium association for a high-rise condominium building (the &#8220;Building&#8221;) located at 432 Park Avenue in New York, N.Y., has asserted a claim against the condominium sponsor, 56<span style="vertical-align:super">th</span> and Park (NY) Owner LLC (the &#8220;Sponsor&#8221;). The Owner alleges &#8220;over 1500 identified construction and design defects to the common elements of&#8221; residential and commercial units at the Building, based upon a report generated by a consultant (SBI Consultants Inc.) retained by the Owner. The alleged defects include, but are not limited to, allegedly-excessive noise and vibration, water leaks and elevator failures. The SBI report allegedly identified defects in the Building&#8217;s: (a) structural/envelope system; (b) mechanical/electrical &amp; plumbing systems; (c) architectural/interiors; and (d) elevators/vertical systems. </p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;color:#000000;text-align:justify">On March 14, 2022, the Sponsor filed a Third-Party Complaint against LendLease Construction (US) LMB (&#8220;LendLease&#8221;), as well as the architects of record on the project (SLCE Architects), the lead structural engineer (Cantor ESA) and the head mechanical engineer (Flack + Kurtz) involved in the Building&#8217;s design. As to LendLease, the Third-Party Complaint alleges breach of a Construction Management Contract between LendLease and Sponsor and negligence arising from purported failure to perform under the contract.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;color:#000000;text-align:justify">On March 22, 2023, LendLease initiated a Third-Party action against various entities with whom LendLease had contracted for the supply of materials and services in connection with construction of the Building. The Third-Party defendants include the suppliers of products and services relating to the automatic sprinkler system, structural steel, mechanical systems, electrical systems, sheet metal, component assembly, roofing, the building exterior, plumbing, concrete, curtain walls, custom machine work and elevators. The Third-Party Complaint also names the Company as a Third-Party Defendant, based upon a contract between the Company and LendLease to supply 16 Viscous Damping Devices (&#8220;VDDs&#8221;) that were incorporated into a Tuned Mass Damper (&#8220;TMD&#8221;) system designed by another company to limit accelerations of the Building during wind events. On July 5, 2023, the Company timely filed and served an Answer to LendLease&#8217;s Third-Party Complaint.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;color:#000000;text-align:justify">Additional third-party actions have been filed by parties named as defendants in the Third-Party Complaint. Presently, seven third-party actions are pending. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><span style="border-bottom:1px solid #000000">The Progress of the Matter to Date</span>. The matter, and all of the related third-party actions, are pending in the Commercial Division of the Supreme Court, New York County before Justice Melissa A. Crane. Justice Crane has appointed Hon. Andrew J. Peck, a retired justice of the Supreme Court, as Special Master to hear and determine disputes regarding all or any part of any discovery issue. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">On August 8, 2023, the Court entered into a Second Amended Scheduling Order. Among the directives in the Second Amended Scheduling Order is a requirement that: (a) all parties complete fact depositions and fact discovery by June 17, 2024; and (b) all parties complete expert discovery by November 28, 2024.</p>
<p style="font:9pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">18</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<a id="a10"></a><a id="a11"></a><a id="a12"></a><a id="a13"></a><table style="border-collapse:collapse;width:508.25pt"><tr style="height:4pt"><td colspan="2" valign="top" style="width:54.75pt"><p style="font:12pt Times New Roman;margin:0;margin-right:18pt">&#160;</p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><span style="border-bottom:1px solid #000000">Management Response</span>. Management of the Company vigorously disputes the allegations in the Third-Party Complaint.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Based upon the information currently available, there is a credible argument that: (a) the Company met the contractual requirements of the 2013 Purchase Order for Viscous Damping Devices (VDDs) that were incorporated into the Tuned Mass Damper (TMD) system; and (b) the VDDs that were delivered were successfully tested to the applicable specification and met the technical requirements of that specification.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Owner has not itemized the damages it seeks to recover from the Sponsor, but the Amended Complaint contains an ad damnum clause demanding $125 million plus punitive damages. The Sponsor has not itemized the damages it seeks to recover from LendLease or the other third-party defendants, but the claim for relief in the Third-Party Complaint includes a demand for full indemnification of any amounts the Sponsor is required to pay plaintiff. In turn, LendLease does not itemize the damages it seeks to recover from the several Third-Party defendants (including the Company), but its demand for relief in the Third-Party Complaint includes a demand for full indemnification of any amounts LendLease is required to pay to the Sponsor. The Company anticipates that the pending actions would provide opportunities for the Sponsor, LendLease and the Company to allocate some or all of any liability to one or more co-defendants or third parties. In view of the limited discovery to date, it is not practical to quantify likely damages to the Company in the event of an unfavorable outcome on liability.</p>
<p style="font:9pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
</td></tr>
<tr style="height:4.3pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:58.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:86.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:4pt"><td colspan="2" valign="top" style="width:54.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">ITEM 1A</p>
</td><td colspan="5" valign="top" style="width:145.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Risk Factors</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:5.75pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
<tr style="height:5.4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Smaller reporting companies are not required to provide the information called for by this item.</p>
</td></tr>
<tr style="height:4.3pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:58.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:86.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:9pt"><td colspan="2" valign="top" style="width:54.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">ITEM 2</p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Unregistered Sales of Equity Securities and Use of Proceeds</p>
</td></tr>
<tr style="height:6.5pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="4" valign="top" style="width:118.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:28.35pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">(a)</p>
</td><td colspan="8" valign="top" style="width:426.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">The Company sold no equity securities during the fiscal quarter ended February 29, 2024 that were not registered under the Securities Act.</p>
</td></tr>
<tr style="height:18pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">(b)</p>
</td><td colspan="8" valign="top" style="width:426.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Use of proceeds following effectiveness of initial registration statement:</p>
</td></tr>
<tr style="height:18pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="8" valign="top" style="width:426.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Not Applicable</p>
</td></tr>
<tr style="height:12.75pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">(c)</p>
</td><td colspan="8" valign="top" style="width:426.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Repurchases of Equity Securities &#8211;&#160;Quarter Ended February 29, 2024</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:63.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:86.35pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><i>Period</i></p>
</td><td colspan="2" valign="top" style="width:63.9pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><i>(a) Total Number of Shares Purchased</i></p>
</td><td valign="top" style="width:53pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><i>(b) Average Price Paid Per Share</i></p>
</td><td valign="top" style="width:77pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><i>(c) Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs</i></p>
</td><td valign="top" style="width:124.6pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><i>(d) Maximum Number (or Approximate Dollar Value) of Shares that May Yet Be Purchased Under the Plans or Programs</i></p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">December 1, 2023 -</p>
</td><td colspan="2" valign="top" style="width:63.9pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:53pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:77pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:124.6pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">December 31, 2023</p>
</td><td colspan="2" valign="top" style="width:63.9pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:53pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:77pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:124.6pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td></tr>
<tr style="height:9.9pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">January 1, 2024 -</p>
</td><td colspan="2" valign="top" style="width:63.9pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:53pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:77pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:124.6pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.65pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">January 31, 2024</p>
</td><td colspan="2" valign="top" style="width:63.9pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">459,015</p>
</td><td valign="top" style="width:53pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">$19.92</p>
</td><td valign="top" style="width:77pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:124.6pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">February 1, 2024 -</p>
</td><td colspan="2" valign="top" style="width:63.9pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:53pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:77pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:124.6pt;border-top:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">February 29, 2024</p>
</td><td colspan="2" valign="top" style="width:63.9pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:53pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:77pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:124.6pt;border-left:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:27pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:108pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Total&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</td><td colspan="2" valign="top" style="width:63.9pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:53pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:77pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td valign="top" style="width:124.6pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td></tr>
<tr style="height:9.9pt"><td colspan="2" valign="top" style="width:54.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
<tr style="height:9.9pt"><td colspan="2" valign="top" style="width:54.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">ITEM 3</p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Defaults Upon Senior Securities</p>
</td></tr>
<tr style="height:5.75pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:58.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:86.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
<tr style="height:5.4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:58.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">None</p>
</td><td colspan="2" valign="top" style="width:86.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
<tr style="height:4.3pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:58.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:86.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
<tr style="height:9pt"><td colspan="2" valign="top" style="width:54.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">ITEM 4</p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Mine Safety Disclosures</p>
</td></tr>
<tr style="height:6.5pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="5" valign="top" style="width:145.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="5" valign="top" style="width:145.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Not applicable</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:58.35pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:86.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">19</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<a id="a14"></a><table style="border-collapse:collapse;width:508.25pt"><tr style="height:4pt"><td colspan="2" valign="top" style="width:54.75pt"><p style="font:12pt Times New Roman;margin:0;margin-right:18pt"><span style="font-size:10pt">ITEM 5</span></p>
</td><td colspan="9" valign="top" style="width:453.5pt"><p style="font:10pt Times New Roman;margin:0">Other Information</p>
</td></tr>
<tr style="height:5.75pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">(a)</p>
</td><td colspan="7" valign="top" style="width:399.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Information required to be disclosed in a Report on Form 8-K, but not reported</p>
</td></tr>
<tr style="height:4.3pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:6.75pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">None</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:4.3pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:20.25pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">(b)</p>
</td><td colspan="7" valign="top" style="width:399.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Material changes to the procedures by which Security Holders may recommend nominees to the Registrant's Board of Directors</p>
</td></tr>
<tr style="height:5.75pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0">None</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="3" valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:4pt"><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td colspan="2" valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">(c)</p>
</td><td colspan="7" valign="top" style="width:399.5pt"><p style="font:10pt Times New Roman;margin:0">During the Registrant&#8217;s last fiscal quarter, to the Registrant&#8217;s knowledge, no director or officer adopted or terminated:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:36pt"> (i) Any contract, instruction or written plan for the purchase or sale of securities of the Registrant intended to satisfy the affirmative defense conditions of Rule 10b5&#8211;1(c) under the Securities Exchange Act of 1934 (the &#8220;Exchange Act&#8221;); or </p>
<p style="font:10pt Times New Roman;margin:0;text-indent:36pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:36pt">(ii) Any &#8216;&#8216;non-Rule 10b5&#8211;1 trading arrangement&#8217;&#8217; as defined in paragraph (c) of Item 408 of Regulation S-K under the Exchange Act.</p>
</td></tr>
</table>
</div>
<div style="margin-left:36pt;width:504pt"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</div>
<div style="margin-left:36pt"><a id="a15"></a><table style="border-collapse:collapse"><tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Arial;margin:0">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Arial;margin:0">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Arial;margin:0">&#160;</p>
</td><td valign="top" style="width:124.85pt"><p style="font:10pt Arial;margin:0">&#160;</p>
</td></tr>
<tr><td colspan="2" valign="top" style="width:54.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">ITEM 6</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Exhibits </p>
</td><td valign="top" style="width:91.3pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53.6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:53pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:77pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:124.85pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">3(i)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Restated Certificate of Incorporation incorporated by reference to Exhibit (3)(i) of Annual Report on Form 10-K, dated August 24, 1983.</p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">3(ii)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Amendment to Certificate of Incorporation incorporated by reference to Exhibit (3)(iv) to Form 8 [Amendment to Application or Report], dated September 24, 1993.</p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">3(iii)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/96536/000009653608000027/exhibit3i.htm" style="text-decoration:none">Amendment to Certificate of Incorporation eliminating and re-designating the Series A Junior Preferred Stock and creating 5,000 Series 2008 Junior Participating Preferred Stock, at $.05 par value, as filed by the Secretary of State of the State of New York on September 16, 2008, and incorporated by reference to Exhibit (3)(i) of Form 8-K, dated as of September 15, 2008 and filed September 18, 2008.</a></span></p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">3(iv)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/96536/000009653603000002/certificateofchange.htm" style="text-decoration:none">Certificate of Change incorporated by reference to Exhibit (3)(i) to Quarterly Report on Form 10-QSB for the period ending November 30, 2002.</a></span></p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">3(v)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/96536/000009653623000002/taydbylaws2022.htm" style="text-decoration:none">By-laws &#8211;&#160;filed on January 6, 2023 with Form 10-Q for the period ending November 30, 2022, and incorporated herein by reference.</a></span></p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">31(i)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="td_ex31z1.htm" style="text-decoration:none">Rule 13a-14(a) Certification of Chief Executive Officer.</a></span></p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">31(ii)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="td_ex31z2.htm" style="text-decoration:none">Rule 13a-14(a) Certification of Chief Financial Officer.</a></span></p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">32(i)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="td_ex32z1.htm" style="text-decoration:none">Section 1350 Certification of Chief Executive Officer.</a></span></p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">32(ii)</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="td_ex32z2.htm" style="text-decoration:none">Section 1350 Certification of Chief Financial Officer.</a></span></p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">101.SCH</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">XBRL Taxonomy Extension Schema Document</p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">101.CAL</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">XBRL Taxonomy Extension Calculation Linkbase Document</p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">101.LAB</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">XBRL Taxonomy Extension Label Linkbase Document</p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">101.PRE</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">XBRL Taxonomy Extension Presentation Linkbase Document</p>
</td></tr>
<tr><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:42.95pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">104</p>
</td><td colspan="5" valign="top" style="width:399.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Cover Page Interactive Data File &#8211;&#160;the cover page XBRL tags are embedded within the Inline XBRL document and are contained within Exhibit 101</p>
</td></tr>
</table>
</div>
<div style="margin-left:36pt;width:504pt"><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">20</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:12pt Times New Roman;margin:0">&#160;</p>
<a id="a16"></a><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:justify"><span style="color:#000000"><b>Report of Independent Registered Public Accounting Firm</b></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The Board of Directors and Stockholders</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Taylor Devices, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify"><b>Results of Review of Interim Financial Information</b></p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">We have reviewed the accompanying condensed consolidated balance sheet of Taylor Devices, Inc. and Subsidiary (the Company) as of February 29, 2024, and the related condensed consolidated statements of income and stockholders&#8217; equity for the three and nine months ended February 29, 2024 and February 28, 2023, and cash flows for the nine months ended February 29, 2024 and February 28, 2023, and the related notes (collectively referred to as the interim financial information). Based on our reviews, we are not aware of any material modifications that should be made to the condensed consolidated financial statements referred to above for them to be in conformity with accounting principles generally accepted in the United States of America.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">We have previously audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated balance sheet of the Company as of May 31, 2023, and the related consolidated statements of income, stockholders&#8217; equity, and cash flows for the year then ended (not presented herein); and in our report dated August 15, 2023, we expressed an unqualified opinion on those consolidated financial statements. In our opinion, the information set forth in the accompanying condensed consolidated balance sheet as of May 31, 2023, is fairly stated, in all material respects, in relation to the consolidated balance sheet from which it has been derived.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify"><b>Basis for Review Results</b></p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">These financial statements are the responsibility of the Company's management. We conducted our review in accordance with the standards of the PCAOB. A review of interim financial information consists principally of applying analytical procedures and making inquiries of persons responsible for financial and accounting matters. It is substantially less in scope than an audit conducted in accordance with the standards of the PCAOB, the objective of which is the expression of an opinion regarding the financial statements taken as a whole. Accordingly, we do not express such an opinion.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Lumsden &amp; McCormick, LLP</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Buffalo, New York</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">March 28, 2024</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">21</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">TAYLOR DEVICES, INC.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<a id="a17"></a><p style="font:10pt Times New Roman;margin:0;color:#000080;text-align:justify"><span style="color:#000000"><b>Signatures</b></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
</div>
<div style="margin-left:36pt"><table style="border-collapse:collapse;margin-left:6pt"><tr><td valign="middle" style="width:306pt;padding-left:6pt;padding-right:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="width:153pt;padding-left:6pt;padding-right:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="border-bottom:1px solid #000000">TAYLOR DEVICES, INC.</span></p>
</td></tr>
<tr><td valign="top" style="width:306pt;padding-left:6pt;padding-right:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:153pt;padding-left:6pt;padding-right:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">(Registrant)</p>
</td></tr>
</table>
</div>
<div style="margin-left:36pt;width:504pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<table style="border-collapse:collapse;width:486.4pt"><tr style="height:10.5pt"><td valign="top" style="width:45pt;border-top:0.75pt solid #FFFFFF;border-left:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Date:</p>
</td><td valign="top" style="width:238.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">March 28, 2024</p>
</td><td valign="top" style="width:22.5pt;border-top:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF;border-right:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:1pt;border-top:0.75pt solid #FFFFFF;border-left:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:179.4pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="border-bottom:1px solid #000000">/s/Timothy J. Sopko</span></p>
</td></tr>
<tr><td valign="top" style="width:45pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:238.5pt;border-left:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF;border-right:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:22.5pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:1pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:179.4pt;border-left:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF;border-right:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Timothy J. Sopko</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Chief Executive Officer</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">(Principal Executive Officer)</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;color:#000000"></p>
<table style="border-collapse:collapse;width:481.5pt"><tr><td valign="top" style="width:42.75pt;border-top:0.75pt solid #FFFFFF;border-left:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Date:</p>
</td><td valign="top" style="width:240.75pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">March 28, 2024</p>
</td><td valign="top" style="width:22.5pt;border-top:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF;border-right:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:1pt;border-top:0.75pt solid #FFFFFF;border-left:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:174.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="border-bottom:1px solid #000000">/s/Paul Heary</span></p>
</td></tr>
<tr><td valign="top" style="width:42.75pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:240.75pt;border-left:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF;border-right:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:22.5pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:1pt;border:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="top" style="width:174.5pt;border-left:0.75pt solid #FFFFFF;border-bottom:0.75pt solid #FFFFFF;border-right:0.75pt solid #FFFFFF"><p style="font:10pt Times New Roman;margin:0;color:#000000">Paul Heary</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Chief Financial Officer</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">22</p>
<p style="font:12pt Times New Roman;margin:0;margin-right:18pt">&#160;</p>
</div>
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>td_ex31z1.htm
<DESCRIPTION>CERTIFICATION
<TEXT>
<HTML>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<HEAD>
<TITLE>Certification</TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:57.6pt;width:496.8pt><P align=justify style='font:10pt Times New Roman;margin:0;text-indent:-36pt;margin-left:36pt'><B>Exhibit 31(i)</B></P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION OF CHIEF EXECUTIVE OFFICER</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>PURSUANT TO RULE 13a - 14(a) OF THE SECURITIES EXCHANGE ACT OF 1934,</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>I, Timothy J. Sopko, certify that:</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>1. I have reviewed this quarterly report on Form 10-Q of Taylor Devices, Inc.;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report; </P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>4. The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(c) Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(d) Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt;margin-right:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>5. The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent functions):</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<TABLE style=border-collapse:collapse;margin-left:6pt><TR><TD valign=top style=width:211.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>Date: March 28, 2024</P>
</TD><TD valign=top style=width:157.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'><FONT style='border-bottom:1px solid #000000'>/s/ Timothy J. Sopko</FONT></P>
</TD></TR>
<TR><TD valign=top style=width:211.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>&nbsp;</P>
</TD><TD valign=top style=width:157.5pt;padding-left:6pt;padding-right:6pt><P style='font:12pt Times New Roman;margin:0'>Timothy J. Sopko </P>
<P style='font:12pt Times New Roman;margin:0'>Chief Executive Officer</P>
</TD></TR>
</TABLE>
<P align=justify style='font:12pt Times New Roman;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>td_ex31z2.htm
<DESCRIPTION>CERTIFICATION
<TEXT>
<HTML>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<HEAD>
<TITLE>Certification</TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:57.6pt;width:496.8pt><P align=justify style='font:10pt Times New Roman;margin:0;text-indent:-36pt;margin-left:36pt'><B>Exhibit 31(ii)</B></P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION OF CHIEF FINANCIAL OFFICER</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>PURSUANT TO RULE 13a - 14(a) OF THE SECURITIES EXCHANGE ACT OF 1934,</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>I, Paul Heary, certify that:</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>1. I have reviewed this quarterly report on Form 10-Q of Taylor Devices, Inc.;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report; </P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>4. The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(c) Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(d) Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting; and</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt;margin-right:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>5. The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of registrant's board of directors (or persons performing the equivalent functions):</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:36pt;margin-right:36pt'>(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<TABLE style=border-collapse:collapse;margin-left:6pt><TR><TD valign=top style=width:211.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>Date: March 28, 2024</P>
</TD><TD valign=top style='width:175.5pt;padding-left:6pt;padding-right:6pt;border-bottom:0.5pt solid #000000'><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>/s/ Paul Heary</P>
</TD></TR>
<TR><TD valign=top style=width:211.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>&nbsp;</P>
</TD><TD valign=top style='width:175.5pt;padding-left:6pt;padding-right:6pt;border-top:0.5pt solid #000000'><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>Paul Heary</P>
<P style='font:10pt Times New Roman;margin:0'>Chief Financial Officer</P>
</TD></TR>
</TABLE>
<P align=justify style='font:12pt Times New Roman;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>td_ex32z1.htm
<DESCRIPTION>CERTIFICATION
<TEXT>
<HTML>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<HEAD>
<TITLE>Certification</TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'><B>Exhibit 32(i)</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION OF CHIEF EXECUTIVE OFFICER</B></P>
<P align=center style='font:10pt Times New Roman;margin:0;text-indent:36pt'><B>PURSUANT TO 18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO SECTION 906 </B></P>
<P align=center style='font:10pt Times New Roman;margin:0;text-indent:36pt'><B>OF THE SARBANES-OXLEY ACT OF 2002</B></P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'><KBD style=margin-left:36pt></KBD>In connect with the quarterly report of Taylor Devices, Inc. (&quot;the Company&quot;) on Form 10-Q for the quarter ended February 29, 2024 to be filed with Securities and Exchange Commission on or about the date hereof (the <BR>&quot;Report&quot;), I, Timothy J. Sopko Chief Executive Officer of the Company, certify, pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, 18&#160;U.S.C. Section 1350, that:&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'><KBD style=margin-left:36pt></KBD>(1) The Report fully complies with the requirements of Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934; and&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt'>(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company as of the dates and for the periods covered by the Report.</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt'>It is not intended that this statement be deemed to be filed for purposes of the Securities Exchange Act of 1934.</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0;text-indent:36pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:36pt'>&nbsp;</P>
<TABLE style=border-collapse:collapse;margin-left:-4.5pt><TR><TD valign=top style=width:226.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>Date: March 28, 2024</P>
</TD><TD valign=top style=width:36pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>By:</P>
</TD><TD valign=top style=width:153pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'><FONT style='border-bottom:1px solid #000000'>/s/ Timothy J. Sopko &nbsp;&nbsp;&nbsp;&nbsp;</FONT></P>
</TD></TR>
<TR><TD valign=top style=width:226.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>&nbsp;</P>
</TD><TD valign=top style=width:36pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>&nbsp;</P>
</TD><TD valign=top style=width:153pt;padding-left:6pt;padding-right:6pt><P style='font:12pt Times New Roman;margin:0'>Timothy J. Sopko </P>
<P style='font:12pt Times New Roman;margin:0'>Chief Executive Officer</P>
</TD></TR>
</TABLE>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>td_ex32z2.htm
<DESCRIPTION>CERTIFICATION
<TEXT>
<HTML>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<HEAD>
<TITLE>Certification</TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'><B>Exhibit 32(ii)</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION OF CHIEF FINANCIAL OFFICER</B></P>
<P align=center style='font:10pt Times New Roman;margin:0;text-indent:36pt'><B>PURSUANT TO 18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO SECTION 906 </B></P>
<P align=center style='font:10pt Times New Roman;margin:0;text-indent:36pt'><B>OF THE SARBANES-OXLEY ACT OF 2002</B></P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'><KBD style=margin-left:36pt></KBD>In connect with the quarterly report of Taylor Devices, Inc. (the &quot;Company&quot;) on Form 10-Q for the quarter ended February 29, 2024 to be filed with Securities and Exchange Commission on or about the date hereof (the &quot;Report&quot;), I, Paul Heary, Chief Financial Officer of the Company, certify, pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, 18&#160;U.S.C. Section 1350, that:&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'><KBD style=margin-left:36pt></KBD>(1) The Report fully complies with the requirements of Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934; and&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt'>(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company as of the dates and for the periods covered by the Report.</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt'>It is not intended that this statement be deemed to be filed for purposes of the Securities Exchange Act of 1934.</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0;text-indent:36pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:36pt'>&nbsp;</P>
<TABLE style=border-collapse:collapse;margin-left:-4.5pt><TR><TD valign=top style=width:226.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>Date: March 28, 2024</P>
</TD><TD valign=top style=width:40.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>By:</P>
</TD><TD valign=top style=width:157.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'><FONT style='border-bottom:1px solid #000000'>/s/ Paul Heary&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</FONT></P>
</TD></TR>
<TR><TD valign=top style=width:226.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>&nbsp;</P>
</TD><TD valign=top style=width:40.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:2.85pt'>&nbsp;</P>
</TD><TD valign=top style=width:157.5pt;padding-left:6pt;padding-right:6pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>Paul Heary</P>
<P style='font:10pt Times New Roman;margin:0'>Chief Financial Officer</P>
</TD></TR>
</TABLE>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>tayd-20240229_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://taylordevices.com/20240229"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments' xlink:label='us-gaap_ShortTermInvestments'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_ShortTermInvestments' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_AccountsAndOtherReceivablesNetCurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPartsAndComponentsNetOfReserves' xlink:label='us-gaap_InventoryPartsAndComponentsNetOfReserves'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_InventoryPartsAndComponentsNetOfReserves' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms' xlink:label='us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_AssetsCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInventoryNoncurrent' xlink:label='us-gaap_OtherInventoryNoncurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_OtherInventoryNoncurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_FiniteLivedIntangibleAssetsNet' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent' xlink:label='us-gaap_OtherAssetsMiscellaneousNoncurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_OtherAssetsMiscellaneousNoncurrent' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet' xlink:label='us-gaap_DeferredIncomeTaxAssetsNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_DeferredIncomeTaxAssetsNet' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BillingsInExcessOfCostCurrent' xlink:label='us-gaap_BillingsInExcessOfCostCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_BillingsInExcessOfCostCurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_StockholdersEquity' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_AdditionalPaidInCapitalCommonStock' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_TreasuryStockValue' use='optional' order='3.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_Revenues' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_CostOfGoodsAndServicesSold' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_GrossProfit' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_ResearchAndDevelopmentExpense' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='3.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetIncomeLoss' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetIncomeLoss' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization' xlink:label='us-gaap_DepreciationDepletionAndAmortization'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_DepreciationDepletionAndAmortization' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentForAmortization' xlink:label='us-gaap_AdjustmentForAmortization'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_AdjustmentForAmortization' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption' xlink:label='us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption' use='optional' order='4.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='5.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='6.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables' xlink:label='us-gaap_IncreaseDecreaseInUnbilledReceivables'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInUnbilledReceivables' use='optional' order='7.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherCurrentAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherCurrentAssets' use='optional' order='8.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayableTrade'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayableTrade' use='optional' order='9.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherCurrentLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherCurrentLiabilities' use='optional' order='10.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings' xlink:label='us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings' use='optional' order='11.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='12.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='1.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireIntangibleAssets' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireOtherInvestments' xlink:label='us-gaap_PaymentsToAcquireOtherInvestments'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireOtherInvestments' use='optional' order='3.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfShortTermInvestments' xlink:label='us-gaap_ProceedsFromSaleOfShortTermInvestments'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_ProceedsFromSaleOfShortTermInvestments' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities' xlink:label='us-gaap_PaymentsForProceedsFromOtherInvestingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsForProceedsFromOtherInvestingActivities' use='optional' order='5.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_ProceedsFromIssuanceOfCommonStock' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfOtherEquity' xlink:label='us-gaap_PaymentsForRepurchaseOfOtherEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_PaymentsForRepurchaseOfOtherEquity' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross' xlink:label='us-gaap_InventoryGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryGross' xlink:to='us-gaap_InventoryRawMaterials' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryGross' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryGross' xlink:to='us-gaap_InventoryFinishedGoods' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryNet' xlink:to='us-gaap_InventoryGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryNet' xlink:to='us-gaap_InventoryValuationReserves' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:label='us-gaap_AccruedLiabilitiesAndOtherLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerDepositsCurrent' xlink:label='us-gaap_CustomerDepositsCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:to='us-gaap_CustomerDepositsCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:to='us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities' xlink:label='us-gaap_OtherAccountsPayableAndAccruedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:to='us-gaap_OtherAccountsPayableAndAccruedLiabilities' use='optional' order='3.0' weight='1.0'/>
	</link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>tayd-20240229_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://taylordevices.com/20240229"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_CommonStockMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_TreasuryStockCommonMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan' xlink:label='us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan' xlink:label='us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices' xlink:label='us-gaap_StockIssuedDuringPeriodValueIssuedForServices'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueIssuedForServices' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfEquity' xlink:label='us-gaap_PaymentsForRepurchaseOfEquity'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PaymentsForRepurchaseOfEquity' use='optional' order='6.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatements" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatements"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatements"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"/>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails"/>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>tayd-20240229_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABELS LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://taylordevices.com/20240229"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<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"/>
	<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"/>
	<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"/>
	<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"/>
	<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"/>
	<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"/>
	<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:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryFinishedGoods' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finished goods</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryFinishedGoods' xlink:to='lab_us-gaap_InventoryFinishedGoods'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisclosureTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Notes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='lab_us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan' xlink:label='us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Issuance of shares for employee stock purchase plan</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan' xlink:to='lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic' xlink:label='us-gaap_EarningsPerShareBasic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareBasic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Basic and diluted earnings per common share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerShareBasic' xlink:to='lab_us-gaap_EarningsPerShareBasic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and cash equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFileNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Securities Act File Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFileNumber' xlink:to='lab_dei_EntityFileNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserves' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Less allowance for obsolescence</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryValuationReserves' xlink:to='lab_us-gaap_InventoryValuationReserves'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net financing activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net financing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfOtherEquity' xlink:label='us-gaap_PaymentsForRepurchaseOfOtherEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForRepurchaseOfOtherEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Acquisition of treasury stock</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForRepurchaseOfOtherEquity' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Acquisition of treasury stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsForRepurchaseOfOtherEquity' xlink:to='lab_us-gaap_PaymentsForRepurchaseOfOtherEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Patent expenditures</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireIntangibleAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Patent expenditures</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireIntangibleAssets' xlink:to='lab_us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayableTrade'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayableTrade' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts payable {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayableTrade' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accounts payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsPayableTrade' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsPayableTrade'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for income taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income before provision for income taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Income before provision for income taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total current liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total current liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='lab_us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsPayableCurrent' xlink:to='lab_us-gaap_AccountsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Investing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stockholders&apos; Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='lab_us-gaap_StockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Accrued Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Inventory, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherCurrentAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other current assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Other current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherCurrentAssets' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization' xlink:label='us-gaap_DepreciationDepletionAndAmortization'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DepreciationDepletionAndAmortization' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Depreciation {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DepreciationDepletionAndAmortization' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Depreciation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DepreciationDepletionAndAmortization' xlink:to='lab_us-gaap_DepreciationDepletionAndAmortization'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAssetsCurrent' xlink:to='lab_us-gaap_OtherAssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalYearFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Year Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalYearFocus' xlink:to='lab_dei_DocumentFiscalYearFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressDescription' xlink:label='dei_EntityAddressAddressDescription'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressAddressDescription' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Address Description</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressAddressDescription' xlink:to='lab_dei_EntityAddressAddressDescription'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentTransitionReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Transition Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentTransitionReport' xlink:to='lab_dei_DocumentTransitionReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Details</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TextBlockAbstract' xlink:to='lab_us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerDepositsCurrent' xlink:label='us-gaap_CustomerDepositsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CustomerDepositsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Customer deposits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CustomerDepositsCurrent' xlink:to='lab_us-gaap_CustomerDepositsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Financing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan' xlink:label='us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Issuance of shares for employee stock option plan</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan' xlink:to='lab_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockCommonMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock, Common</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockCommonMember' xlink:to='lab_us-gaap_TreasuryStockCommonMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Liabilities and Stockholders&apos; Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Common Stock, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCommonStockSharesOutstanding' xlink:to='lab_dei_EntityCommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PhoneFaxNumberDescription' xlink:label='dei_PhoneFaxNumberDescription'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_PhoneFaxNumberDescription' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Phone Fax Number Description</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_PhoneFaxNumberDescription' xlink:to='lab_dei_PhoneFaxNumberDescription'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Personnel costs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent' xlink:to='lab_us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TableTextBlockSupplementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tables/Schedules</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='lab_us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialStatementsTextBlock' xlink:label='srt_CondensedFinancialStatementsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_CondensedFinancialStatementsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Condensed Financial Statements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_CondensedFinancialStatementsTextBlock' xlink:to='lab_srt_CondensedFinancialStatementsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Acquisition of property and equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Acquisition of property and equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:to='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfEquity' xlink:label='us-gaap_PaymentsForRepurchaseOfEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForRepurchaseOfEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Repurchase of shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForRepurchaseOfEquity' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Repurchase of shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsForRepurchaseOfEquity' xlink:to='lab_us-gaap_PaymentsForRepurchaseOfEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SellingGeneralAndAdministrativeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Selling, general and administrative expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SellingGeneralAndAdministrativeExpense' xlink:to='lab_us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts and other receivables, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:to='lab_us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalPeriodFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Period Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalPeriodFocus' xlink:to='lab_dei_DocumentFiscalPeriodFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AmendmentFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amendment Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AmendmentFlag' xlink:to='lab_dei_AmendmentFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityListingParValuePerShare' xlink:label='dei_EntityListingParValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityListingParValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Listing, Par Value Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityListingParValuePerShare' xlink:to='lab_dei_EntityListingParValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFilerCategory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Filer Category</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFilerCategory' xlink:to='lab_dei_EntityFilerCategory'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCurrentReportingStatus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Current Reporting Status</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCurrentReportingStatus' xlink:to='lab_dei_EntityCurrentReportingStatus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:label='us-gaap_AccruedLiabilitiesAndOtherLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued Liabilities and Other Liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Accrued Liabilities and Other Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:to='lab_us-gaap_AccruedLiabilitiesAndOtherLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables' xlink:label='us-gaap_IncreaseDecreaseInUnbilledReceivables'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInUnbilledReceivables' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Costs and estimated earnings in excess of billings {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInUnbilledReceivables' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Costs and estimated earnings in excess of billings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInUnbilledReceivables' xlink:to='lab_us-gaap_IncreaseDecreaseInUnbilledReceivables'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Changes in other assets and liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Adjustments to reconcile net income to net cash flows from operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfCashFlowsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Condensed Consolidated Statements of Cash Flows (Unaudited)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='lab_us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementEquityComponentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Components [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='lab_us-gaap_StatementEquityComponentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementTable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementTable' xlink:to='lab_us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total stockholders&apos; equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total stockholders&apos; equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Equity, Attributable to Parent, Beginning Balance</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Equity, Attributable to Parent, Ending Balance</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquity' xlink:to='lab_us-gaap_StockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Assets' xlink:to='lab_us-gaap_Assets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityIncorporationStateCountryCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Incorporation, State or Country Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityIncorporationStateCountryCode' xlink:to='lab_dei_EntityIncorporationStateCountryCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentPeriodEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Period End Date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentPeriodEndDate' xlink:to='lab_dei_DocumentPeriodEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings' xlink:label='us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Billings in excess of costs and estimated earnings {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Billings in excess of costs and estimated earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings' xlink:to='lab_us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherCurrentLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued expenses {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accrued expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherCurrentLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices' xlink:label='us-gaap_StockIssuedDuringPeriodValueIssuedForServices'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockIssuedDuringPeriodValueIssuedForServices' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stock options issued for services</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockIssuedDuringPeriodValueIssuedForServices' xlink:to='lab_us-gaap_StockIssuedDuringPeriodValueIssuedForServices'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional Paid-in Capital</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapitalMember' xlink:to='lab_us-gaap_AdditionalPaidInCapitalMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent' xlink:label='us-gaap_OtherAssetsMiscellaneousNoncurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssetsMiscellaneousNoncurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAssetsMiscellaneousNoncurrent' xlink:to='lab_us-gaap_OtherAssetsMiscellaneousNoncurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments' xlink:label='us-gaap_ShortTermInvestments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShortTermInvestments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Short-term investments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShortTermInvestments' xlink:to='lab_us-gaap_ShortTermInvestments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentType' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Type</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentType' xlink:to='lab_dei_DocumentType'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCentralIndexKey' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Registrant CIK</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCentralIndexKey' xlink:to='lab_dei_EntityCentralIndexKey'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities' xlink:label='us-gaap_OtherAccountsPayableAndAccruedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAccountsPayableAndAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAccountsPayableAndAccruedLiabilities' xlink:to='lab_us-gaap_OtherAccountsPayableAndAccruedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net operating activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts and other receivables, net {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Accounts and other receivables, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption' xlink:label='us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stock options issued for services {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Stock options issued for services</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption' xlink:to='lab_us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CostOfGoodsAndServicesSold' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cost of goods sold</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CostOfGoodsAndServicesSold' xlink:to='lab_us-gaap_CostOfGoodsAndServicesSold'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury stock - at cost</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockValue' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Treasury stock - at cost</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockValue' xlink:to='lab_us-gaap_TreasuryStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsAbstract' xlink:to='lab_us-gaap_AssetsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityShellCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Shell Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityShellCompany' xlink:to='lab_dei_EntityShellCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_LocalPhoneNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Local Phone Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_LocalPhoneNumber' xlink:to='lab_dei_LocalPhoneNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport' xlink:label='dei_DocumentQuarterlyReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentQuarterlyReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Quarterly Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentQuarterlyReport' xlink:to='lab_dei_DocumentQuarterlyReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryRawMaterials' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Raw materials</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryRawMaterials' xlink:to='lab_us-gaap_InventoryRawMaterials'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetIncomeLoss' xlink:to='lab_us-gaap_NetIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Operating income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='lab_us-gaap_OperatingIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock and additional paid-in capital</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapitalCommonStock' xlink:to='lab_us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='lab_us-gaap_LiabilitiesCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryWorkInProcess' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Work-in-process</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryWorkInProcess' xlink:to='lab_us-gaap_InventoryWorkInProcess'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementLineItems' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement [Line Items]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementLineItems' xlink:to='lab_us-gaap_StatementLineItems'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockMember' xlink:to='lab_us-gaap_CommonStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Condensed Consolidated Statements of Stockholders&apos; Equity (Unaudited)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='lab_us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property and equipment, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total current assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrent' xlink:to='lab_us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='lab_us-gaap_AssetsCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net change in cash and cash equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net change in cash and cash equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gross profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Gross profit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GrossProfit' xlink:to='lab_us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Revenues' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Sales, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Revenues' xlink:to='lab_us-gaap_Revenues'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityEmergingGrowthCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Emerging Growth Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityEmergingGrowthCompany' xlink:to='lab_dei_EntityEmergingGrowthCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressCityOrTown' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, City or Town</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressCityOrTown' xlink:to='lab_dei_EntityAddressCityOrTown'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInInventories' xlink:to='lab_us-gaap_IncreaseDecreaseInInventories'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained Earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsMember' xlink:to='lab_us-gaap_RetainedEarningsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BillingsInExcessOfCostCurrent' xlink:label='us-gaap_BillingsInExcessOfCostCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BillingsInExcessOfCostCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Billings in excess of costs and estimated earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BillingsInExcessOfCostCurrent' xlink:to='lab_us-gaap_BillingsInExcessOfCostCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityRegistrantName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Registrant Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityRegistrantName' xlink:to='lab_dei_EntityRegistrantName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfShortTermInvestments' xlink:label='us-gaap_ProceedsFromSaleOfShortTermInvestments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromSaleOfShortTermInvestments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from sale of short-term investments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromSaleOfShortTermInvestments' xlink:to='lab_us-gaap_ProceedsFromSaleOfShortTermInvestments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other income, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherNonoperatingIncomeExpense' xlink:to='lab_us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsAccumulatedDeficit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsAccumulatedDeficit' xlink:to='lab_us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet' xlink:label='us-gaap_DeferredIncomeTaxAssetsNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxAssetsNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred income taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxAssetsNet' xlink:to='lab_us-gaap_DeferredIncomeTaxAssetsNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms' xlink:label='us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Costs and estimated earnings in excess of billings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms' xlink:to='lab_us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntitySmallBusiness' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Small Business</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntitySmallBusiness' xlink:to='lab_dei_EntitySmallBusiness'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressAddressLine1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Address Line One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressAddressLine1' xlink:to='lab_dei_EntityAddressAddressLine1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityTaxIdentificationNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Tax Identification Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityTaxIdentificationNumber' xlink:to='lab_dei_EntityTaxIdentificationNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net investing activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net investing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Other assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Condensed Consolidated Statements of Income (unaudited)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='lab_us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Patents, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsNet' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInventoryNoncurrent' xlink:label='us-gaap_OtherInventoryNoncurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherInventoryNoncurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Maintenance and other inventory, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherInventoryNoncurrent' xlink:to='lab_us-gaap_OtherInventoryNoncurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CityAreaCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>City Area Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CityAreaCode' xlink:to='lab_dei_CityAreaCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and cash equivalents - beginning</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Cash and cash equivalents - beginning</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Cash and cash equivalents - ending</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:to='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireOtherInvestments' xlink:label='us-gaap_PaymentsToAcquireOtherInvestments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireOtherInvestments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Purchase of short-term investments</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireOtherInvestments' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Purchase of short-term investments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireOtherInvestments' xlink:to='lab_us-gaap_PaymentsToAcquireOtherInvestments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentForAmortization' xlink:label='us-gaap_AdjustmentForAmortization'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdjustmentForAmortization' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amortization</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdjustmentForAmortization' xlink:to='lab_us-gaap_AdjustmentForAmortization'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EquityComponentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Component</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EquityComponentDomain' xlink:to='lab_us-gaap_EquityComponentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ResearchAndDevelopmentExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Research and development costs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ResearchAndDevelopmentExpense' xlink:to='lab_us-gaap_ResearchAndDevelopmentExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressPostalZipCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Postal Zip Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressPostalZipCode' xlink:to='lab_dei_EntityAddressPostalZipCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory, Net</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Inventory, Net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryNet' xlink:to='lab_us-gaap_InventoryNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross' xlink:label='us-gaap_InventoryGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory, Gross</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryGross' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Inventory, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryGross' xlink:to='lab_us-gaap_InventoryGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from issuance of common stock, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:to='lab_us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities' xlink:label='us-gaap_PaymentsForProceedsFromOtherInvestingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForProceedsFromOtherInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other investing activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForProceedsFromOtherInvestingActivities' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Other investing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsForProceedsFromOtherInvestingActivities' xlink:to='lab_us-gaap_PaymentsForProceedsFromOtherInvestingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Liabilities and Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Liabilities and Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPartsAndComponentsNetOfReserves' xlink:label='us-gaap_InventoryPartsAndComponentsNetOfReserves'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryPartsAndComponentsNetOfReserves' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryPartsAndComponentsNetOfReserves' xlink:to='lab_us-gaap_InventoryPartsAndComponentsNetOfReserves'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Condensed Consolidated Balance Sheets (Unaudited)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='lab_us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityInteractiveDataCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Interactive Data Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityInteractiveDataCurrent' xlink:to='lab_dei_EntityInteractiveDataCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressStateOrProvince' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, State or Province</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressStateOrProvince' xlink:to='lab_dei_EntityAddressStateOrProvince'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CurrentFiscalYearEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fiscal Year End</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CurrentFiscalYearEndDate' xlink:to='lab_dei_CurrentFiscalYearEndDate'/>
	</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>tayd-20240229_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://taylordevices.com/20240229"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCentralIndexKey' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CurrentFiscalYearEndDate' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentType' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport' xlink:label='dei_DocumentQuarterlyReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentQuarterlyReport' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentPeriodEndDate' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentTransitionReport' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFileNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityRegistrantName' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityIncorporationStateCountryCode' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityTaxIdentificationNumber' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressAddressLine1' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressCityOrTown' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressStateOrProvince' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressPostalZipCode' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressDescription' xlink:label='dei_EntityAddressAddressDescription'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressAddressDescription' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CityAreaCode' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_LocalPhoneNumber' use='optional' order='17.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PhoneFaxNumberDescription' xlink:label='dei_PhoneFaxNumberDescription'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_PhoneFaxNumberDescription' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCurrentReportingStatus' use='optional' order='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityInteractiveDataCurrent' use='optional' order='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFilerCategory' use='optional' order='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntitySmallBusiness' use='optional' order='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityEmergingGrowthCompany' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityShellCompany' use='optional' order='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCommonStockSharesOutstanding' use='optional' order='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityListingParValuePerShare' xlink:label='dei_EntityListingParValuePerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityListingParValuePerShare' use='optional' order='26.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AmendmentFlag' use='optional' order='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalYearFocus' use='optional' order='28.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalPeriodFocus' use='optional' order='29.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsAbstract' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_AssetsCurrentAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments' xlink:label='us-gaap_ShortTermInvestments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_ShortTermInvestments' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_AccountsAndOtherReceivablesNetCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPartsAndComponentsNetOfReserves' xlink:label='us-gaap_InventoryPartsAndComponentsNetOfReserves'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_InventoryPartsAndComponentsNetOfReserves' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms' xlink:label='us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_AssetsCurrent' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInventoryNoncurrent' xlink:label='us-gaap_OtherInventoryNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_OtherInventoryNoncurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsNet' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent' xlink:label='us-gaap_OtherAssetsMiscellaneousNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_OtherAssetsMiscellaneousNoncurrent' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet' xlink:label='us-gaap_DeferredIncomeTaxAssetsNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_DeferredIncomeTaxAssetsNet' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_Assets' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquityAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LiabilitiesCurrentAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BillingsInExcessOfCostCurrent' xlink:label='us-gaap_BillingsInExcessOfCostCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_BillingsInExcessOfCostCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_StockholdersEquityAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_AdditionalPaidInCapitalCommonStock' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_TreasuryStockValue' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_StockholdersEquity' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquity' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_CostOfGoodsAndServicesSold' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_GrossProfit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_ResearchAndDevelopmentExpense' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic' xlink:label='us-gaap_EarningsPerShareBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_EarningsPerShareBasic' use='optional' order='11.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_CommonStockMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_TreasuryStockCommonMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan' xlink:label='us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan' xlink:label='us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity_1' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices' xlink:label='us-gaap_StockIssuedDuringPeriodValueIssuedForServices'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueIssuedForServices' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfEquity' xlink:label='us-gaap_PaymentsForRepurchaseOfEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PaymentsForRepurchaseOfEquity' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization' xlink:label='us-gaap_DepreciationDepletionAndAmortization'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_DepreciationDepletionAndAmortization' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentForAmortization' xlink:label='us-gaap_AdjustmentForAmortization'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_AdjustmentForAmortization' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption' xlink:label='us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables' xlink:label='us-gaap_IncreaseDecreaseInUnbilledReceivables'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInUnbilledReceivables' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherCurrentAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherCurrentAssets' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayableTrade'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayableTrade' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherCurrentLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherCurrentLiabilities' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings' xlink:label='us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireIntangibleAssets' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireOtherInvestments' xlink:label='us-gaap_PaymentsToAcquireOtherInvestments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireOtherInvestments' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfShortTermInvestments' xlink:label='us-gaap_ProceedsFromSaleOfShortTermInvestments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromSaleOfShortTermInvestments' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities' xlink:label='us-gaap_PaymentsForProceedsFromOtherInvestingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsForProceedsFromOtherInvestingActivities' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromIssuanceOfCommonStock' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfOtherEquity' xlink:label='us-gaap_PaymentsForRepurchaseOfOtherEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_PaymentsForRepurchaseOfOtherEquity' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatements" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatements"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatements">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialStatementsTextBlock' xlink:label='srt_CondensedFinancialStatementsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='srt_CondensedFinancialStatementsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryRawMaterials' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryFinishedGoods' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross' xlink:label='us-gaap_InventoryGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryGross' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryValuationReserves' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="tayd-20240229.xsd#idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerDepositsCurrent' xlink:label='us-gaap_CustomerDepositsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CustomerDepositsCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities' xlink:label='us-gaap_OtherAccountsPayableAndAccruedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherAccountsPayableAndAccruedLiabilities' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities' xlink:label='us-gaap_AccruedLiabilitiesAndOtherLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccruedLiabilitiesAndOtherLiabilities' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>10
<FILENAME>tayd-20240229.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by edgar-services.com using EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2024 [PPWEVSUSUJKYVDNWDZUM]. www.edgarsuite.com -->
<schema attributeFormDefault='unqualified' elementFormDefault='qualified' targetNamespace='http://taylordevices.com/20240229' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:xbrli='http://www.xbrl.org/2003/instance' xmlns:fil='http://taylordevices.com/20240229' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xbrldi='http://xbrl.org/2006/xbrldi' xmlns:xbrldt='http://xbrl.org/2005/xbrldt' xmlns:srt='http://fasb.org/srt/2023' xmlns:us-gaap='http://fasb.org/us-gaap/2023' xmlns:dei='http://xbrl.sec.gov/dei/2023'>
	<annotation>
		<appinfo>
			<link:linkbaseRef xlink:type="simple" xlink:href="tayd-20240229_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="tayd-20240229_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="tayd-20240229_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="tayd-20240229_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables" id="idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables">
				<link:definition>000080 - Disclosure - Condensed Financial Statements: Schedule of Accrued Expenses (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" id="idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited">
				<link:definition>000040 - Statement - Condensed Consolidated Statements of Stockholders&apos; Equity (Unaudited)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatements" id="idr_DisclosureCondensedFinancialStatements">
				<link:definition>000060 - Disclosure - Condensed Financial Statements</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails" id="idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails">
				<link:definition>000100 - Disclosure - Condensed Financial Statements: Schedule of Accrued Expenses (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails" id="idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails">
				<link:definition>000090 - Disclosure - Condensed Financial Statements: Schedule of Inventory, Current (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation" id="idr_DocumentDocumentAndEntityInformation">
				<link:definition>000010 - Document - Document and Entity Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" id="idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
				<link:definition>000050 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables" id="idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables">
				<link:definition>000070 - Disclosure - Condensed Financial Statements: Schedule of Inventory, Current (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited" id="idr_StatementCondensedConsolidatedBalanceSheetsUnaudited">
				<link:definition>000020 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited" id="idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited">
				<link:definition>000030 - Statement - Condensed Consolidated Statements of Income (unaudited)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
		</appinfo>
	</annotation>
	<import schemaLocation='https://www.xbrl.org/dtr/type/2022-03-31/types.xsd' namespace='http://www.xbrl.org/dtr/type/2022-03-31'/>
	<import schemaLocation='http://www.xbrl.org/2005/xbrldt-2005.xsd' namespace='http://xbrl.org/2005/xbrldt'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd' namespace='http://fasb.org/srt/2023'/>
	<import schemaLocation='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd' namespace='http://fasb.org/us-gaap/2023'/>
	<import schemaLocation='https://xbrl.sec.gov/dei/2023/dei-2023.xsd' namespace='http://xbrl.sec.gov/dei/2023'/>
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169860673504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - $ / shares<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Mar. 28, 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_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</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_EntityCentralIndexKey', window );">Registrant CIK</a></td>
<td class="text">0000096536<span></span>
</td>
<td class="text">&#160;<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_CurrentFiscalYearEndDate', window );">Fiscal Year End</a></td>
<td class="text">--05-31<span></span>
</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">10-Q<span></span>
</td>
<td class="text">&#160;<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_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Feb. 29,  2024<span></span>
</td>
<td class="text">&#160;<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_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</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_EntityFileNumber', window );">Securities Act File Number</a></td>
<td class="text">0-3498<span></span>
</td>
<td class="text">&#160;<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_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TAYLOR DEVICES INC<span></span>
</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_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">NY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">16-0797789<span></span>
</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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">90 Taylor Drive<span></span>
</td>
<td class="text">&#160;<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">North Tonawanda<span></span>
</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_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NY<span></span>
</td>
<td class="text">&#160;<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">14120<span></span>
</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_EntityAddressAddressDescription', window );">Entity Address, Address Description</a></td>
<td class="text">Address of principal executive offices<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">716<span></span>
</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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">694-0800<span></span>
</td>
<td class="text">&#160;<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_PhoneFaxNumberDescription', window );">Phone Fax Number Description</a></td>
<td class="text">Registrant&#8217;s telephone number, including area code<span></span>
</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_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<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_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</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_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<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_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</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_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<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_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,093,964<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_EntityListingParValuePerShare', window );">Entity Listing, Par Value Per Share</a></td>
<td class="nump">$ 0.025<span></span>
</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_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<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_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</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_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q3<span></span>
</td>
<td class="text">&#160;<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_CurrentFiscalYearEndDate">
<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>End date of current fiscal year in the format --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_CurrentFiscalYearEndDate</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:gMonthDayItemType</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_DocumentFiscalPeriodFocus">
<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>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.</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_DocumentFiscalPeriodFocus</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:fiscalPeriodItemType</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_DocumentFiscalYearFocus">
<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>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.</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_DocumentFiscalYearFocus</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:gYearItemType</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_DocumentQuarterlyReport">
<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 only for a form used as an quarterly report.</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 Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<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_DocumentQuarterlyReport</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_DocumentTransitionReport">
<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 only for a form used as a transition report.</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 Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-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_DocumentTransitionReport</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_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_EntityAddressAddressDescription">
<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>Description of the kind of address for the entity, if needed to distinguish more finely among mailing, principal, legal, accounting, contact or other addresses.</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_EntityAddressAddressDescription</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_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_EntityCommonStockSharesOutstanding">
<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 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.</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_EntityCommonStockSharesOutstanding</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:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<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 '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.</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_EntityCurrentReportingStatus</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:yesNoItemType</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_EntityFilerCategory">
<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 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.</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_EntityFilerCategory</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:filerCategoryItemType</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_EntityInteractiveDataCurrent">
<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 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).</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 Regulation S-T<br> -Number 232<br> -Section 405<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_EntityInteractiveDataCurrent</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:yesNoItemType</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_EntityListingParValuePerShare">
<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 par value per share of security quoted in same currency as Trading currency. Example: '0.01'.</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_EntityListingParValuePerShare</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>dtr-types:perShareItemType</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_EntityShellCompany">
<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 registrant is a shell company as defined in Rule 12b-2 of 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 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_EntityShellCompany</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_EntitySmallBusiness">
<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>Indicates that the company is a Smaller Reporting Company (SRC).</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_EntitySmallBusiness</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_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_PhoneFaxNumberDescription">
<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>Description of Phone or Fax Number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PhoneFaxNumberDescription</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_us-gaap_TextBlockAbstract">
<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 );">- References</a><div><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;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169860680160">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 3,056,450<span></span>
</td>
<td class="nump">$ 3,575,219<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_us-gaap_ShortTermInvestments', window );">Short-term investments</a></td>
<td class="nump">21,567,890<span></span>
</td>
<td class="nump">24,514,757<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_us-gaap_AccountsAndOtherReceivablesNetCurrent', window );">Accounts and other receivables, net</a></td>
<td class="nump">4,886,625<span></span>
</td>
<td class="nump">5,553,504<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_us-gaap_InventoryPartsAndComponentsNetOfReserves', window );">Inventory</a></td>
<td class="nump">6,677,772<span></span>
</td>
<td class="nump">5,941,304<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_us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms', window );">Costs and estimated earnings in excess of billings</a></td>
<td class="nump">4,534,019<span></span>
</td>
<td class="nump">4,124,182<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_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">464,745<span></span>
</td>
<td class="nump">668,554<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">41,187,501<span></span>
</td>
<td class="nump">44,377,520<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_us-gaap_OtherInventoryNoncurrent', window );">Maintenance and other inventory, net</a></td>
<td class="nump">1,360,932<span></span>
</td>
<td class="nump">1,003,140<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_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">11,135,688<span></span>
</td>
<td class="nump">11,721,784<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_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Patents, net</a></td>
<td class="nump">298,148<span></span>
</td>
<td class="nump">0<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_us-gaap_OtherAssetsMiscellaneousNoncurrent', window );">Other assets</a></td>
<td class="nump">241,051<span></span>
</td>
<td class="nump">210,120<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_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes</a></td>
<td class="nump">568,615<span></span>
</td>
<td class="nump">568,615<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">54,791,935<span></span>
</td>
<td class="nump">57,881,179<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_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">955,841<span></span>
</td>
<td class="nump">1,717,657<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_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">4,039,991<span></span>
</td>
<td class="nump">4,078,322<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_us-gaap_BillingsInExcessOfCostCurrent', window );">Billings in excess of costs and estimated earnings</a></td>
<td class="nump">1,960,286<span></span>
</td>
<td class="nump">1,992,470<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">6,956,118<span></span>
</td>
<td class="nump">7,788,449<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_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Common stock and additional paid-in capital</a></td>
<td class="nump">11,794,037<span></span>
</td>
<td class="nump">11,049,216<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_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">48,654,388<span></span>
</td>
<td class="nump">42,128,256<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_us-gaap_TreasuryStockValue', window );">Treasury stock - at cost</a></td>
<td class="num">(12,612,608)<span></span>
</td>
<td class="num">(3,084,742)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">47,835,817<span></span>
</td>
<td class="nump">50,092,730<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Liabilities and Equity</a></td>
<td class="nump">$ 54,791,935<span></span>
</td>
<td class="nump">$ 57,881,179<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsAndOtherReceivablesNetCurrent">
<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>Amount, after allowance, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer.</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;">us-gaap_AccountsAndOtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<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>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<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>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<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>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<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>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</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/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<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>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</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/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<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;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<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 );">- References</a><div><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;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_BillingsInExcessOfCostCurrent">
<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>Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method that are expected to be realized within one year or one operating cycle, whichever is longer, from the reporting date.</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;">us-gaap_BillingsInExcessOfCostCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<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>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<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;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms">
<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>Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(c)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(c)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(c)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-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;">us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<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>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</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/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<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;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<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>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</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/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPartsAndComponentsNetOfReserves">
<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>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date for elements of machinery or equipment held for the purpose of replacing similar parts in the course of repair or maintenance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-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;">us-gaap_InventoryPartsAndComponentsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<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>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<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>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</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/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<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 );">- References</a><div><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;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_OtherAssetsCurrent">
<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>Amount of current assets classified as other.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsMiscellaneousNoncurrent">
<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>Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.</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;">us-gaap_OtherAssetsMiscellaneousNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInventoryNoncurrent">
<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>Carrying amount as of the balance sheet date of inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle (such as inventory related to long-term contracts or program rights).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_OtherInventoryNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<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>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-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;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<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>Amount of accumulated undistributed earnings (deficit).</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<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>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<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>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-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;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<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 );">- References</a><div><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;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_TreasuryStockValue">
<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 amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169861079152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Income (unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Condensed Consolidated Statements of Income (unaudited)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Revenues', window );">Sales, net</a></td>
<td class="nump">$ 12,254,093<span></span>
</td>
<td class="nump">$ 9,891,272<span></span>
</td>
<td class="nump">$ 32,517,596<span></span>
</td>
<td class="nump">$ 29,479,337<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_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of goods sold</a></td>
<td class="nump">6,501,227<span></span>
</td>
<td class="nump">5,629,523<span></span>
</td>
<td class="nump">17,569,487<span></span>
</td>
<td class="nump">17,357,733<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">5,752,866<span></span>
</td>
<td class="nump">4,261,749<span></span>
</td>
<td class="nump">14,948,109<span></span>
</td>
<td class="nump">12,121,604<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_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development costs</a></td>
<td class="nump">108,363<span></span>
</td>
<td class="nump">190,688<span></span>
</td>
<td class="nump">321,518<span></span>
</td>
<td class="nump">881,335<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_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">2,651,289<span></span>
</td>
<td class="nump">2,266,115<span></span>
</td>
<td class="nump">7,660,172<span></span>
</td>
<td class="nump">6,500,487<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">2,993,214<span></span>
</td>
<td class="nump">1,804,946<span></span>
</td>
<td class="nump">6,966,419<span></span>
</td>
<td class="nump">4,739,782<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_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">362,707<span></span>
</td>
<td class="nump">239,941<span></span>
</td>
<td class="nump">1,122,713<span></span>
</td>
<td class="nump">432,984<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">3,355,921<span></span>
</td>
<td class="nump">2,044,887<span></span>
</td>
<td class="nump">8,089,132<span></span>
</td>
<td class="nump">5,172,766<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_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">659,000<span></span>
</td>
<td class="nump">386,000<span></span>
</td>
<td class="nump">1,563,000<span></span>
</td>
<td class="nump">952,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 2,696,921<span></span>
</td>
<td class="nump">$ 1,658,887<span></span>
</td>
<td class="nump">$ 6,526,132<span></span>
</td>
<td class="nump">$ 4,220,766<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_us-gaap_EarningsPerShareBasic', window );">Basic and diluted earnings per common share</a></td>
<td class="nump">$ 0.82<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="nump">$ 1.91<span></span>
</td>
<td class="nump">$ 1.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<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 aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</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/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_EarningsPerShareBasic">
<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 amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<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;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</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_us-gaap_GrossProfit">
<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>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<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>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</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/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncomeStatementAbstract">
<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 );">- References</a><div><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;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_IncomeTaxExpenseBenefit">
<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>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_NetIncomeLoss">
<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 portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_OperatingIncomeLoss">
<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 net result for the period of deducting operating expenses from operating revenues.</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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<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;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_OtherNonoperatingIncomeExpense">
<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>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_ResearchAndDevelopmentExpense">
<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 aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</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/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-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;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_Revenues">
<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>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-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;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_SellingGeneralAndAdministrativeExpense">
<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 aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169857700512">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock, Common</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Equity, Attributable to Parent, Beginning Balance at May. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 101,342<span></span>
</td>
<td class="nump">$ 10,227,916<span></span>
</td>
<td class="nump">$ 35,840,898<span></span>
</td>
<td class="num">$ (2,915,002)<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_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of shares for employee stock purchase plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="nump">8,083<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan', window );">Issuance of shares for employee stock option plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">344<span></span>
</td>
<td class="nump">137,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(54,705)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Equity, Attributable to Parent, Ending Balance at Feb. 28, 2023</a></td>
<td class="nump">$ 47,695,849<span></span>
</td>
<td class="nump">101,706<span></span>
</td>
<td class="nump">10,502,186<span></span>
</td>
<td class="nump">40,061,664<span></span>
</td>
<td class="num">(2,969,707)<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_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock options issued for services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,437<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">4,220,766<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,220,766<span></span>
</td>
<td class="text">&#160;<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_us-gaap_PaymentsForRepurchaseOfEquity', window );">Repurchase of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Equity, Attributable to Parent, Beginning Balance at Nov. 30, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">101,457<span></span>
</td>
<td class="nump">10,394,127<span></span>
</td>
<td class="nump">38,402,777<span></span>
</td>
<td class="num">(2,915,002)<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_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of shares for employee stock purchase plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="nump">2,429<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan', window );">Issuance of shares for employee stock option plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">244<span></span>
</td>
<td class="nump">105,630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(54,705)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Equity, Attributable to Parent, Ending Balance at Feb. 28, 2023</a></td>
<td class="nump">47,695,849<span></span>
</td>
<td class="nump">101,706<span></span>
</td>
<td class="nump">10,502,186<span></span>
</td>
<td class="nump">40,061,664<span></span>
</td>
<td class="num">(2,969,707)<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_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock options issued for services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">1,658,887<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,658,887<span></span>
</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_us-gaap_PaymentsForRepurchaseOfEquity', window );">Repurchase of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Equity, Attributable to Parent, Beginning Balance at May. 31, 2023</a></td>
<td class="nump">50,092,730<span></span>
</td>
<td class="nump">102,127<span></span>
</td>
<td class="nump">10,947,089<span></span>
</td>
<td class="nump">42,128,256<span></span>
</td>
<td class="num">(3,084,742)<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_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of shares for employee stock purchase plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="nump">7,559<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan', window );">Issuance of shares for employee stock option plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">863<span></span>
</td>
<td class="nump">435,083<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(384,287)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Equity, Attributable to Parent, Ending Balance at Feb. 29, 2024</a></td>
<td class="nump">47,835,817<span></span>
</td>
<td class="nump">102,998<span></span>
</td>
<td class="nump">11,691,039<span></span>
</td>
<td class="nump">48,654,388<span></span>
</td>
<td class="num">(12,612,608)<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_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock options issued for services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">301,308<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">6,526,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,526,132<span></span>
</td>
<td class="text">&#160;<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_us-gaap_PaymentsForRepurchaseOfEquity', window );">Repurchase of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,143,579)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Equity, Attributable to Parent, Beginning Balance at Nov. 30, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">102,171<span></span>
</td>
<td class="nump">11,269,228<span></span>
</td>
<td class="nump">45,957,467<span></span>
</td>
<td class="num">(3,100,541)<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_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of shares for employee stock purchase plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2,489<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan', window );">Issuance of shares for employee stock option plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">825<span></span>
</td>
<td class="nump">419,322<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(368,488)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Equity, Attributable to Parent, Ending Balance at Feb. 29, 2024</a></td>
<td class="nump">47,835,817<span></span>
</td>
<td class="nump">$ 102,998<span></span>
</td>
<td class="nump">11,691,039<span></span>
</td>
<td class="nump">48,654,388<span></span>
</td>
<td class="num">(12,612,608)<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_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock options issued for services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 2,696,921<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,696,921<span></span>
</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_us-gaap_PaymentsForRepurchaseOfEquity', window );">Repurchase of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (9,143,579)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<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 portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsForRepurchaseOfEquity">
<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 cash outflow to reacquire common and preferred stock.</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/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<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;">us-gaap_PaymentsForRepurchaseOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan">
<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>Value of shares issued during the period to an employee benefit plan, such as a defined contribution or defined benefit plan.</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;">us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<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>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_StockIssuedDuringPeriodValueIssuedForServices">
<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>Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</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;">us-gaap_StockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_StockholdersEquity">
<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>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-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;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169859780864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 6,526,132<span></span>
</td>
<td class="nump">$ 4,220,766<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_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash flows from operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation</a></td>
<td class="nump">1,341,435<span></span>
</td>
<td class="nump">1,003,924<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_us-gaap_AdjustmentForAmortization', window );">Amortization</a></td>
<td class="nump">1,852<span></span>
</td>
<td class="nump">0<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_us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption', window );">Stock options issued for services</a></td>
<td class="nump">301,308<span></span>
</td>
<td class="nump">128,437<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_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in other assets and liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts and other receivables, net</a></td>
<td class="nump">666,879<span></span>
</td>
<td class="num">(4,096,679)<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_us-gaap_IncreaseDecreaseInInventories', window );">Inventory</a></td>
<td class="num">(1,094,260)<span></span>
</td>
<td class="nump">414,140<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_us-gaap_IncreaseDecreaseInUnbilledReceivables', window );">Costs and estimated earnings in excess of billings</a></td>
<td class="num">(409,837)<span></span>
</td>
<td class="num">(437,513)<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_us-gaap_IncreaseDecreaseInOtherCurrentAssets', window );">Other current assets</a></td>
<td class="nump">203,809<span></span>
</td>
<td class="num">(113,378)<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_us-gaap_IncreaseDecreaseInAccountsPayableTrade', window );">Accounts payable</a></td>
<td class="num">(761,816)<span></span>
</td>
<td class="nump">40,323<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_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities', window );">Accrued expenses</a></td>
<td class="num">(38,331)<span></span>
</td>
<td class="num">(134,605)<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_us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings', window );">Billings in excess of costs and estimated earnings</a></td>
<td class="num">(32,184)<span></span>
</td>
<td class="nump">315,233<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_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(27,343)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net operating activities</a></td>
<td class="nump">6,677,644<span></span>
</td>
<td class="nump">1,340,648<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_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Acquisition of property and equipment</a></td>
<td class="num">(755,339)<span></span>
</td>
<td class="num">(2,382,514)<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_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Patent expenditures</a></td>
<td class="num">(300,000)<span></span>
</td>
<td class="nump">0<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_us-gaap_PaymentsToAcquireOtherInvestments', window );">Purchase of short-term investments</a></td>
<td class="num">(7,553,133)<span></span>
</td>
<td class="num">(18,179,193)<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_us-gaap_ProceedsFromSaleOfShortTermInvestments', window );">Proceeds from sale of short-term investments</a></td>
<td class="nump">10,500,000<span></span>
</td>
<td class="nump">0<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_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">Other investing activities</a></td>
<td class="num">(3,588)<span></span>
</td>
<td class="num">(3,624)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net investing activities</a></td>
<td class="nump">1,887,940<span></span>
</td>
<td class="num">(20,565,331)<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_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock, net</a></td>
<td class="nump">443,513<span></span>
</td>
<td class="nump">91,492<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_us-gaap_PaymentsForRepurchaseOfOtherEquity', window );">Acquisition of treasury stock</a></td>
<td class="num">(9,527,866)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net financing activities</a></td>
<td class="num">(9,084,353)<span></span>
</td>
<td class="nump">91,492<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net change in cash and cash equivalents</a></td>
<td class="num">(518,769)<span></span>
</td>
<td class="num">(19,133,191)<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_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents - beginning</a></td>
<td class="nump">3,575,219<span></span>
</td>
<td class="nump">22,517,038<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_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents - ending</a></td>
<td class="nump">$ 3,056,450<span></span>
</td>
<td class="nump">$ 3,383,847<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentForAmortization">
<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 aggregate amount of recurring noncash expense charged against earnings in the period to allocate the cost of assets over their estimated remaining economic lives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_AdjustmentForAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<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>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</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/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<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;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<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>Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-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;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DepreciationDepletionAndAmortization">
<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 aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<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;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_IncreaseDecreaseInAccountsPayableTrade">
<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>Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInAccountsPayableTrade</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_IncreaseDecreaseInAccountsReceivable">
<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 increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings">
<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 increase (decrease) during the reporting period in the liability reflecting cash payments received before the related costs have been incurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption">
<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>Amount of increase (decrease) in fair value adjustment on other assets (liabilities) carried at fair value under the fair value option on the statement of cash flows of Federal Home Loan Banks (FHLBanks).</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;">us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInInventories">
<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 increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<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 );">- References</a><div><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;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_IncreaseDecreaseInOtherCurrentAssets">
<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>Amount of increase (decrease) in current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities">
<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>Amount of increase (decrease) in current liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<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>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInUnbilledReceivables">
<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 increase (decrease) during the reporting period of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInUnbilledReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<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>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</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/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<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;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<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>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</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/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<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;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<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>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<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;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</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_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_NetIncomeLoss">
<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 portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsForProceedsFromOtherInvestingActivities">
<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>Amount of cash (inflow) outflow from investing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-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;">us-gaap_PaymentsForProceedsFromOtherInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsForRepurchaseOfOtherEquity">
<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>Amount of cash outflow to reacquire equity classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<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;">us-gaap_PaymentsForRepurchaseOfOtherEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsToAcquireIntangibleAssets">
<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 cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<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;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsToAcquireOtherInvestments">
<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>Amount of cash outflow to acquire investments classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<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;">us-gaap_PaymentsToAcquireOtherInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<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 cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<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;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_ProceedsFromIssuanceOfCommonStock">
<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 cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<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;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_ProceedsFromSaleOfShortTermInvestments">
<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 cash inflow from sales of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-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;">us-gaap_ProceedsFromSaleOfShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169957233024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Financial Statements<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 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_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</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_srt_CondensedFinancialStatementsTextBlock', window );">Condensed Financial Statements</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0;color:#000080"><span style="color:#000000"><b>Notes to Condensed Consolidated Financial Statements</b></span></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">1.</kbd>The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America for interim financial information and with the instructions to Form 10-Q. Accordingly, they do not include all the information and footnotes required by accounting principles generally accepted in the United States of America for complete financial statements. In the opinion of the Company, the accompanying unaudited condensed consolidated financial statements contain all adjustments (consisting of only normal recurring accruals) necessary to present fairly the financial position as of February 29, 2024 and May 31, 2023, the results of operations for the three and nine months ended February 29, 2024 and February 28, 2023, and cash flows for the nine months ended February 29, 2024 and February 28, 2023. These financial statements should be read in conjunction with the audited financial statements and notes thereto contained in the Company's Annual Report to Shareholders for the year ended May 31, 2023. &#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">2.</kbd>The Company has evaluated events and transactions for potential recognition or disclosure in the financial statements through the date the financial statements were issued.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">3.</kbd>There is no provision nor shall there be any provisions for profit sharing, dividends, or any other benefits of any nature at any time for this fiscal year.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">4.</kbd>For the nine-month periods ended February 29, 2024 and February 28, 2023, the net income was divided by 3,411,703 and 3,502,982 respectively, which is net of the Treasury shares, to calculate the net income per share. &#160;For the three-month periods ended February 29, 2024 and February 28, 2023, net income was divided by 3,302,497 and 3,505,849 respectively, which is net of the Treasury shares, to calculate the net income per share.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">5.</kbd>The results of operations for the three and nine-month periods ended February 29, 2024 are not necessarily indicative of the results to be expected for the full year.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">6.</kbd>Recently issued Financial Accounting Standards Board (FASB) Accounting Standards Codification (ASC) guidance has either been implemented or is not significant to the Company.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">7.</kbd>Short-term Investments:&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify">At times, the Company invests excess funds in liquid interest earning instruments. Short-term investments at February 29, 2024 and May 31, 2023 include &#8220;available for sale&#8221; money market funds, US treasury securities and corporate bonds stated at fair value, which approximates cost. The short-term investments (24) mature on various dates during the period March 2024 to December 2026. Unrealized holding gains and losses would be presented as a separate component of accumulated other comprehensive income, net of deferred income taxes. Realized gains and losses on the sale of investments are determined using the specific identification method.</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify">The short-term investments are valued using pricing models maximizing the use of observable inputs for similar securities. This includes basing value on yields currently available on comparable securities of issuers with similar credit ratings.</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">8.</kbd>Inventory:&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td style="width:189.05pt;border-bottom:0.75pt solid #000000" valign="top"></td><td style="width:89.8pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29, 2024</p>
</td><td style="width:4.15pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">Raw materials</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">795,623</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">673,453</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Work-in-process</p>
</td><td style="width:89.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">5,658,693</kbd>&#160;</p>
</td><td style="width:4.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">5,005,416</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Finished goods</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">274,456</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">330,435</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt" valign="top"></td><td style="width:89.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">6,728,772</kbd>&#160;</p>
</td><td style="width:4.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">6,009,304</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Less allowance for obsolescence</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-bottom:1pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">51,000</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-bottom:1pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-bottom:1pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">68,000</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt;border-bottom:0.5pt solid #000000" valign="top"></td><td style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">6,677,772</kbd>&#160;</p>
</td><td style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">5,941,304</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">9.</kbd>Revenue Recognition:&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">Revenue is recognized (generally at fixed prices) when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations. </p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year) using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred costs represent work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Adjustments to cost estimates are made periodically, and losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the nine months ended February 29, 2024, 58% of revenue was recorded for contracts in which revenue was recognized over time while 42% was recognized at a point in time. In the nine months ended February 28, 2023, 62% of revenue was recorded for contracts in which revenue was recognized over time while 38% was recognized at a point in time. </p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">Progress payments are typically negotiated for longer term projects. Payments are otherwise due once performance obligations are complete (generally at shipment and transfer of title). For financial statement presentation purposes, the Company nets progress billings against the total costs incurred and estimated earnings recognized on uncompleted contracts. The asset, &#8220;costs and estimated earnings in excess of billings,&#8221; represents revenues recognized in excess of amounts billed. The liability, &#8220;billings in excess of costs and estimated earnings,&#8221; represents billings in excess of revenues recognized.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify">If applicable, the Company recognizes an asset for the incremental, material costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year and the costs are expected to be recovered. As of February 29, 2024 and May 31, 2023, the Company does not have material incremental costs on any open contracts with an original expected duration of greater than one year, and therefore such costs are expensed as incurred. These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">10.</kbd>The February 28, 2023 statements of income have been reclassified to conform with the presentation adopted for February 29, 2024.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;text-align:justify"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt">11.</kbd>Accrued Expenses: &#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td style="width:189.05pt;border-bottom:0.75pt solid #000000" valign="top"></td><td style="width:89.8pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"> February 29, 2024</p>
</td><td style="width:4.15pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">Customer deposits</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">363,641</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">367,902</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Personnel costs</p>
</td><td style="width:89.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">2,919,543</kbd>&#160;</p>
</td><td style="width:4.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">3,023,501</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">756,807</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">686,919</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt;border-bottom:0.5pt solid #000000" valign="top"></td><td style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">4,039,991</kbd>&#160;</p>
</td><td style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">4,078,322</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialStatementsTextBlock">
<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 entire disclosure for condensed financial statements.</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/disclosureRef<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 04<br> -Paragraph a<br> -Publisher SEC<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<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;">srt_CondensedFinancialStatementsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_DisclosureTextBlockAbstract">
<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 );">- References</a><div><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;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169952089616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Financial Statements: Schedule of Inventory, Current (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 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_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory, Current</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td style="width:189.05pt;border-bottom:0.75pt solid #000000" valign="top"></td><td style="width:89.8pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">February 29, 2024</p>
</td><td style="width:4.15pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">Raw materials</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">795,623</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">673,453</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Work-in-process</p>
</td><td style="width:89.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">5,658,693</kbd>&#160;</p>
</td><td style="width:4.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">5,005,416</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Finished goods</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">274,456</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">330,435</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt" valign="top"></td><td style="width:89.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">6,728,772</kbd>&#160;</p>
</td><td style="width:4.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">6,009,304</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Less allowance for obsolescence</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-bottom:1pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">51,000</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-bottom:1pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-bottom:1pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">68,000</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt;border-bottom:0.5pt solid #000000" valign="top"></td><td style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">6,677,772</kbd>&#160;</p>
</td><td style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">5,941,304</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<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>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-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;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_TableTextBlockSupplementAbstract">
<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 );">- References</a><div><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;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169861852688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Financial Statements: Schedule of Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 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_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Expenses</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td style="width:189.05pt;border-bottom:0.75pt solid #000000" valign="top"></td><td style="width:89.8pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"> February 29, 2024</p>
</td><td style="width:4.15pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-bottom:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">May 31, 2023</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">Customer deposits</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">363,641</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">367,902</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Personnel costs</p>
</td><td style="width:89.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">2,919,543</kbd>&#160;</p>
</td><td style="width:4.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">3,023,501</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#EBEBEB;width:189.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">756,807</kbd>&#160;</p>
</td><td style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">686,919</kbd>&#160;</p>
</td></tr>
<tr><td style="width:189.05pt;border-bottom:0.5pt solid #000000" valign="top"></td><td style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt">4,039,991</kbd>&#160;</p>
</td><td style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#000080">&#160;</p>
</td><td style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt">4,078,322</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<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>Tabular disclosure of the components of accrued liabilities.</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;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_TableTextBlockSupplementAbstract">
<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 );">- References</a><div><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;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169859005232">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Financial Statements: Schedule of Inventory, Current (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 795,623<span></span>
</td>
<td class="nump">$ 673,453<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_us-gaap_InventoryWorkInProcess', window );">Work-in-process</a></td>
<td class="nump">5,658,693<span></span>
</td>
<td class="nump">5,005,416<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_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">274,456<span></span>
</td>
<td class="nump">330,435<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryGross', window );">Inventory, Gross</a></td>
<td class="nump">6,728,772<span></span>
</td>
<td class="nump">6,009,304<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_us-gaap_InventoryValuationReserves', window );">Less allowance for obsolescence</a></td>
<td class="nump">51,000<span></span>
</td>
<td class="nump">68,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory, Net</a></td>
<td class="nump">$ 6,677,772<span></span>
</td>
<td class="nump">$ 5,941,304<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<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>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryGross">
<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>Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<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>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<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>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<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>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-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;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<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>Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<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 );">- References</a><div><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;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140169860781504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Financial Statements: Schedule of Accrued Expenses (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_CustomerDepositsCurrent', window );">Customer deposits</a></td>
<td class="nump">$ 363,641<span></span>
</td>
<td class="nump">$ 367,902<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_us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent', window );">Personnel costs</a></td>
<td class="nump">2,919,543<span></span>
</td>
<td class="nump">3,023,501<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_us-gaap_OtherAccountsPayableAndAccruedLiabilities', window );">Other</a></td>
<td class="nump">756,807<span></span>
</td>
<td class="nump">686,919<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities', window );">Accrued Liabilities and Other Liabilities</a></td>
<td class="nump">$ 4,039,991<span></span>
</td>
<td class="nump">$ 4,078,322<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities">
<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>Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as 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;">us-gaap_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CustomerDepositsCurrent">
<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 current portion of money or property received from customers which is either to be returned upon satisfactory contract completion or applied to customer receivables in accordance with the terms of the contract or the understandings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CustomerDepositsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccountsPayableAndAccruedLiabilities">
<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>Amount of liabilities incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer.</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;">us-gaap_OtherAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent">
<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>Amount of obligations incurred for employer-related costs classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<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 );">- References</a><div><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;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>22
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( -M ?%@'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'Q8D/[>Q>\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M:L,P#(=?9?B>R$E*&2;-9:6G#08K;.QF;+4UB_]@:R1]^R5>FS*V!]C1TL^?
M/H%:%83R$9^C#QC)8+H;;>^24&'#3D1! "1U0BM3.27<U#SX:"5-SWB$(-6'
M/"+4G*_!(DDM2<(,+,)"9%VKE5 1)?EXP6NUX,-G[#-,*\ >+3I*4)45L&Z>
M&,YCW\(-,,,(HTW?!=0+,5?_Q.8.L$MR3&9)#<-0#DW.33M4\/;T^)+7+8Q+
M))W"Z5<R@LX!-^PZ^;5YV.YWK*MYO2IX4]3W^ZH6?"U6S?OL^L/O)FR]-@?S
MCXVO@ET+O^ZB^P)02P,$%     @ VT!\6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
M>+9(E1SDV*[\';O1H26*JE.PCB084F*="<=O<^%#ZC9LMB%'R8KL7AT_L-T
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
M@K+G0.PGP9M]3AYG:N[)::<?-@=.*<%I./3#EJ,X(G0LV#U78C]9?C[H[$Z
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
M;;+,5PVTRG^P'1![:NM:%=ATSYGO'"CM&X#0FJS(\W76*B1Y>3'ENG=9;-@
M54!++/;"(\+1__;WIGA%CWLT&'Z4<M@;D*)%PA;?0)<RE\(W]OC).GRS%)39
M5<X:4\J3T?$(+F#UA[SK(1_4W@]*4/MOBD%*N<XY88W.AR%BR*^8\14X>+0.
MP=ZA">!N5("/SAXZI.<^#5>1164,?9C6L8D;]S=MM'6-%=S8ZM "A;&/#DP/
M2+[!SDM!JH523B%"D1:W%+A)8DMC*H[M*^6CMWJL.C!NU$.W07:XK1[ _QWD
MM24-Y$$+WGEK4#.'%E?***I 1)!% K*8!7+7X_"G$>0B ;F8$?*IB""7"<CE
MG)"+"'*5@%S]+\@[)+Z&J,RO?QU\Q+A.,*[G9'R*($\3D*<S0KZ[DF<)R+,Y
M(>,K>9Z /)\3<AF_Y7GJ,<^',33-'@TU$N@O?(1GG>=@=>]$OPR9BN7JA&NN
M#\9<L_:5/ENEIU$VC>'+GU!+ P04    " #;0'Q8"][M[>4    5!P  &@
M 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSQ=5+CL(P# ;@JU0Y &X+E(=:
M5FS8CKA 5-R':)LH]FC@]E.513%BP09Y%3E1?G\K.__!SG+K!FI:3]&M[P8J
M3,/L]P!4-MA;6CB/P_A2N=!;'LM0@[?EU=8(:1QG$)XSS"%_SHS.=X^?)+JJ
M:DL\NO*WQX'?!,.?"U=J$-E$9QMJY,+ K9NO":8C68S))CI="A-.E\2 -B@5
MH%0?M!2@I3YH)4 K?=!:@-;ZH$R ,GW01H V^J"M &WU03L!VNF#DEA.QOB+
M).)[AS1['K7L_\W1S.-?G-M/Y>/R93U,XQC$%CS\ U!+ P04    " #;0'Q8
MX;IYE#X!  "8"   $P   %M#;VYT96YT7U1Y<&5S72YX;6S-ELM.PS 017\E
MRK9*W!8H#[7= %OH@A\PR:2QZI<\TY+^/9/T(8%*1%4DO(D5S\P]US,+>_JV
M]8!)8[3%65H3^0<AL*C!2,R=!\N1R@4CB7_#4GA9K.02Q'@XG(C"60)+&;4:
MZ7SZ!)5<:TJ>&]Y&Y>PL#: Q31YWB2UKEDKOM2HD<5QL;/F-DNT).5=V.5@K
MCP-.2,5)0AOY&;"O>]U "*J$9"$#O4C#6:+1 FFK ?-^B1,>756I DI7K V7
MY.@#R!)K #(ZWXD.^LG$'8;==W0QOY/I W+F(CB//+$ Y^,.(VFK,\]"$$CU
M'_%(9.F+SP?MM$LH?\GF]GZXL.KF@:);+N_QUQD?]<_T,8[$QU4D/JXC\7$3
MB8]))#YN(_%Q%XF/^TA\C(;_:.3=N=5?WY7MFANI[($ON@?)_!-02P$"% ,4
M    " #;0'Q8!T%-8H$   "Q    $               @ $     9&]C4')O
M<',O87!P+GAM;%!+ 0(4 Q0    ( -M ?%B0_M[%[P   "L"   1
M      "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( -M ?%B9
M7)PC$ 8  )PG   3              "  <T!  !X;"]T:&5M92]T:&5M93$N
M>&UL4$L! A0#%     @ VT!\6"0?D*GV!0  #Q\  !@              ("!
M#@@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( -M ?%A^
M88 I:@4  #45   8              " @3H.  !X;"]W;W)K<VAE971S+W-H
M965T,BYX;6Q02P$"% ,4    " #;0'Q8-CSW>-0$  #2$0  &
M    @(':$P  >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL4$L! A0#%     @
MVT!\6-)?C_40!P  HS   !@              ("!Y!@  'AL+W=O<FMS:&5E
M=',O<VAE970T+GAM;%!+ 0(4 Q0    ( -M ?%@NOV%W5 8  %L:   8
M          " @2H@  !X;"]W;W)K<VAE971S+W-H965T-2YX;6Q02P$"% ,4
M    " #;0'Q8T7T3*5()  ":%P  &               @(&T)@  >&PO=V]R
M:W-H965T<R]S:&5E=#8N>&UL4$L! A0#%     @ VT!\6%63'8NJ @  M@4
M !@              ("!/#   'AL+W=O<FMS:&5E=',O<VAE970W+GAM;%!+
M 0(4 Q0    ( -M ?%B&2S;4=@(  &L%   8              " @1PS  !X
M;"]W;W)K<VAE971S+W-H965T."YX;6Q02P$"% ,4    " #;0'Q8HY]!Q>,"
M   S"   &               @('(-0  >&PO=V]R:W-H965T<R]S:&5E=#DN
M>&UL4$L! A0#%     @ VT!\6#T@*I>> @  ]@8  !D              ("!
MX3@  'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4    " #;0'Q8
MVG[#NA<#  "*$0  #0              @ &V.P  >&PO<W1Y;&5S+GAM;%!+
M 0(4 Q0    ( -M ?%B7BKL<P    !,"   +              "  ?@^  !?
M<F5L<R\N<F5L<U!+ 0(4 Q0    ( -M ?%BB(< 7P $   H(   /
M      "  >$_  !X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " #;0'Q8"][M
M[>4    5!P  &@              @ '.00  >&PO7W)E;',O=V]R:V)O;VLN
M>&UL+G)E;'-02P$"% ,4    " #;0'Q8X;IYE#X!  "8"   $P
M    @ 'K0@  6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     $@ 2 +4$  !:
%1      !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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>24
<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>26
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>49</ContextCount>
  <ElementCount>102</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>4</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000010 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000020 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000030 - Statement - Condensed Consolidated Statements of Income (unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Income (unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000040 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000050 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000060 - Disclosure - Condensed Financial Statements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatements</Role>
      <ShortName>Condensed Financial Statements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000070 - Disclosure - Condensed Financial Statements: Schedule of Inventory, Current (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables</Role>
      <ShortName>Condensed Financial Statements: Schedule of Inventory, Current (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000080 - Disclosure - Condensed Financial Statements: Schedule of Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables</Role>
      <ShortName>Condensed Financial Statements: Schedule of Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000090 - Disclosure - Condensed Financial Statements: Schedule of Inventory, Current (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails</Role>
      <ShortName>Condensed Financial Statements: Schedule of Inventory, Current (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables</ParentRole>
      <Position>9</Position>
    </Report>
    <Report instance="tayd-20240229.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000100 - Disclosure - Condensed Financial Statements: Schedule of Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails</Role>
      <ShortName>Condensed Financial Statements: Schedule of Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables</ParentRole>
      <Position>10</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="10-Q" isDefinitelyFs="true" isUsgaap="true" original="tayd-20240229.htm">tayd-20240229.htm</File>
    <File>tayd-20240229.xsd</File>
    <File>tayd-20240229_cal.xml</File>
    <File>tayd-20240229_def.xml</File>
    <File>tayd-20240229_lab.xml</File>
    <File>tayd-20240229_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2023</BaseTaxonomy>
    <BaseTaxonomy items="228">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>28
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "tayd-20240229.htm": {
   "nsprefix": "fil",
   "nsuri": "http://taylordevices.com/20240229",
   "dts": {
    "inline": {
     "local": [
      "tayd-20240229.htm"
     ]
    },
    "schema": {
     "local": [
      "tayd-20240229.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "tayd-20240229_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tayd-20240229_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "tayd-20240229_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tayd-20240229_pre.xml"
     ]
    }
   },
   "keyStandard": 102,
   "keyCustom": 0,
   "axisStandard": 1,
   "axisCustom": 0,
   "memberStandard": 4,
   "memberCustom": 0,
   "hidden": {
    "total": 5,
    "http://xbrl.sec.gov/dei/2023": 5
   },
   "contextCount": 49,
   "entityCount": 1,
   "segmentCount": 4,
   "elementCount": 127,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 228,
    "http://xbrl.sec.gov/dei/2023": 29,
    "http://fasb.org/srt/2023": 1
   },
   "report": {
    "R1": {
     "role": "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation",
     "longName": "000010 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "D230601_240229",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D230601_240229",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited",
     "longName": "000020 - Statement - Condensed Consolidated Balance Sheets (Unaudited)",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "I240229",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "I240229",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited",
     "longName": "000030 - Statement - Condensed Consolidated Statements of Income (unaudited)",
     "shortName": "Condensed Consolidated Statements of Income (unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "D231201_240229",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D231201_240229",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited",
     "longName": "000040 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "I220531_StEqComps-CommonStock",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "I220531_StEqComps-CommonStock",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
     "longName": "000050 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "D230601_240229",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "D230601_240229",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatements",
     "longName": "000060 - Disclosure - Condensed Financial Statements",
     "shortName": "Condensed Financial Statements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "6",
     "firstAnchor": {
      "contextRef": "D230601_240229",
      "name": "srt:CondensedFinancialStatementsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D230601_240229",
      "name": "srt:CondensedFinancialStatementsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables",
     "longName": "000070 - Disclosure - Condensed Financial Statements: Schedule of Inventory, Current (Tables)",
     "shortName": "Condensed Financial Statements: Schedule of Inventory, Current (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "7",
     "firstAnchor": {
      "contextRef": "D230601_240229",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "srt:CondensedFinancialStatementsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D230601_240229",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "srt:CondensedFinancialStatementsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables",
     "longName": "000080 - Disclosure - Condensed Financial Statements: Schedule of Accrued Expenses (Tables)",
     "shortName": "Condensed Financial Statements: Schedule of Accrued Expenses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "8",
     "firstAnchor": {
      "contextRef": "D230601_240229",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D230601_240229",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails",
     "longName": "000090 - Disclosure - Condensed Financial Statements: Schedule of Inventory, Current (Details)",
     "shortName": "Condensed Financial Statements: Schedule of Inventory, Current (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "9",
     "firstAnchor": {
      "contextRef": "I240229",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "srt:CondensedFinancialStatementsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "I240229",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "srt:CondensedFinancialStatementsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails",
     "longName": "000100 - Disclosure - Condensed Financial Statements: Schedule of Accrued Expenses (Details)",
     "shortName": "Condensed Financial Statements: Schedule of Accrued Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "10",
     "firstAnchor": {
      "contextRef": "I240229",
      "name": "us-gaap:CustomerDepositsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "I240229",
      "name": "us-gaap:CustomerDepositsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tayd-20240229.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountsAndOtherReceivablesNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsAndOtherReceivablesNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and other receivables, net",
        "documentation": "Amount, after allowance, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r235"
     ]
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesAndOtherLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities and Other Liabilities",
        "totalLabel": "Accrued Liabilities and Other Liabilities",
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock and additional paid-in capital",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r183",
      "r261",
      "r262",
      "r263",
      "r267",
      "r273"
     ]
    },
    "us-gaap_AdjustmentForAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentForAmortization",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization",
        "documentation": "The aggregate amount of recurring noncash expense charged against earnings in the period to allocate the cost of assets over their estimated remaining economic lives."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r17"
     ]
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash flows from operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets",
        "totalLabel": "Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r66",
      "r79",
      "r102",
      "r109",
      "r113",
      "r118",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r141",
      "r143",
      "r154",
      "r167",
      "r203",
      "r235",
      "r245",
      "r265",
      "r266",
      "r269"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets {1}",
        "terseLabel": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current assets",
        "totalLabel": "Total current assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r69",
      "r79",
      "r118",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r141",
      "r143",
      "r154",
      "r235",
      "r265",
      "r266",
      "r269"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BillingsInExcessOfCostCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BillingsInExcessOfCostCurrent",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billings in excess of costs and estimated earnings",
        "documentation": "Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method that are expected to be realized within one year or one operating cycle, whichever is longer, from the reporting date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r65",
      "r231"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents - beginning",
        "periodStartLabel": "Cash and cash equivalents - beginning",
        "periodEndLabel": "Cash and cash equivalents - ending",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r40",
      "r78"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net change in cash and cash equivalents",
        "totalLabel": "Net change in cash and cash equivalents",
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r40"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r237",
      "r238",
      "r240",
      "r241",
      "r242",
      "r243",
      "r261",
      "r262",
      "r267",
      "r272",
      "r273"
     ]
    },
    "srt_CondensedFinancialStatementsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CondensedFinancialStatementsTextBlock",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Statements",
        "documentation": "The entire disclosure for condensed financial statements."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r80"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of goods sold",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r162"
     ]
    },
    "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostsInExcessOfBillingsOnUncompletedContractsOrPrograms",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and estimated earnings in excess of billings",
        "documentation": "Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r53",
      "r54",
      "r57"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fiscal Year End",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerDepositsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerDepositsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer deposits",
        "documentation": "The current portion of money or property received from customers which is either to be returned upon satisfactory contract completion or applied to customer receivables in accordance with the terms of the contract or the understandings."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r136"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation {1}",
        "terseLabel": "Depreciation",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r105"
     ]
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r247"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r248"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic and diluted earnings per common share",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r86",
      "r87",
      "r88",
      "r89",
      "r90",
      "r94",
      "r95",
      "r97",
      "r98",
      "r99",
      "r100",
      "r152",
      "r153",
      "r164",
      "r173",
      "r233"
     ]
    },
    "dei_EntityAddressAddressDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressDescription",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Description",
        "documentation": "Description of the kind of address for the entity, if needed to distinguish more finely among mailing, principal, legal, accounting, contact or other addresses."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registrant CIK",
        "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": [
      "r246"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r246"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities Act 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://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r246"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r249"
     ]
    },
    "dei_EntityListingParValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingParValuePerShare",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Par Value Per Share",
        "documentation": "The par value per share of security quoted in same currency as Trading currency. Example: '0.01'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r246"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r246"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r246"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r246"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r61",
      "r72",
      "r73",
      "r74",
      "r81",
      "r82",
      "r83",
      "r85",
      "r91",
      "r93",
      "r101",
      "r119",
      "r120",
      "r130",
      "r131",
      "r132",
      "r133",
      "r138",
      "r139",
      "r145",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r155",
      "r156",
      "r157",
      "r158",
      "r159",
      "r160",
      "r161",
      "r175",
      "r176",
      "r177",
      "r183",
      "r228"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents, net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r163"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross profit",
        "totalLabel": "Gross profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r79",
      "r102",
      "r108",
      "r112",
      "r114",
      "r118",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r154",
      "r234",
      "r265"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income before provision for income taxes",
        "totalLabel": "Income before provision for income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r32",
      "r50",
      "r102",
      "r108",
      "r112",
      "r114",
      "r165",
      "r171",
      "r234"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Income (unaudited)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for income taxes",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r92",
      "r93",
      "r106",
      "r137",
      "r140",
      "r174"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableTrade": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableTrade",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable {1}",
        "terseLabel": "Accounts payable",
        "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and other receivables, net {1}",
        "negatedLabel": "Accounts and other receivables, net",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInBillingInExcessOfCostOfEarnings",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billings in excess of costs and estimated earnings {1}",
        "terseLabel": "Billings in excess of costs and estimated earnings",
        "documentation": "The increase (decrease) during the reporting period in the liability reflecting cash payments received before the related costs have been incurred."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock options issued for services {1}",
        "negatedLabel": "Stock options issued for services",
        "documentation": "Amount of increase (decrease) in fair value adjustment on other assets (liabilities) carried at fair value under the fair value option on the statement of cash flows of Federal Home Loan Banks (FHLBanks)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory {1}",
        "negatedLabel": "Inventory",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in other assets and liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current assets {1}",
        "negatedLabel": "Other current assets",
        "documentation": "Amount of increase (decrease) in current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r259"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherCurrentLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses {1}",
        "terseLabel": "Accrued expenses",
        "documentation": "Amount of increase (decrease) in current liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r259"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other assets {1}",
        "negatedLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInUnbilledReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInUnbilledReceivables",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and estimated earnings in excess of billings {1}",
        "negatedLabel": "Costs and estimated earnings in excess of billings",
        "documentation": "The increase (decrease) during the reporting period of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r252"
     ]
    },
    "us-gaap_InventoryGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryGross",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Gross",
        "totalLabel": "Inventory, Gross",
        "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r256"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net",
        "totalLabel": "Inventory, Net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r232",
      "r235"
     ]
    },
    "us-gaap_InventoryPartsAndComponentsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPartsAndComponentsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date for elements of machinery or equipment held for the purpose of replacing similar parts in the course of repair or maintenance."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r255"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r254"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less allowance for obsolescence",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r256"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Work-in-process",
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r253"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity",
        "totalLabel": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r47",
      "r169",
      "r235",
      "r260",
      "r264",
      "r268"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Stockholders' Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r64",
      "r79",
      "r118",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r142",
      "r143",
      "r144",
      "r154",
      "r235",
      "r265",
      "r269",
      "r270"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net financing activities",
        "totalLabel": "Net financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net investing activities",
        "totalLabel": "Net investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net operating activities",
        "totalLabel": "Net operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r41",
      "r42"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited",
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income",
        "totalLabel": "Net income",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r42",
      "r51",
      "r62",
      "r70",
      "r71",
      "r74",
      "r79",
      "r84",
      "r86",
      "r87",
      "r88",
      "r89",
      "r92",
      "r93",
      "r96",
      "r102",
      "r108",
      "r112",
      "r114",
      "r118",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r153",
      "r154",
      "r172",
      "r211",
      "r226",
      "r227",
      "r234",
      "r244",
      "r265"
     ]
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating income",
        "totalLabel": "Operating income",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r108",
      "r112",
      "r114",
      "r234"
     ]
    },
    "us-gaap_OtherAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccountsPayableAndAccruedLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other",
        "documentation": "Amount of liabilities incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r235"
     ]
    },
    "us-gaap_OtherAssetsMiscellaneousNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsMiscellaneousNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other assets",
        "documentation": "Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Personnel costs",
        "documentation": "Amount of obligations incurred for employer-related costs classified as other."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_OtherInventoryNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherInventoryNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maintenance and other inventory, net",
        "documentation": "Carrying amount as of the balance sheet date of inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle (such as inventory related to long-term contracts or program rights)."
       }
      }
     },
     "auth_ref": [
      "r251"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForProceedsFromOtherInvestingActivities",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other investing activities",
        "negatedLabel": "Other investing activities",
        "documentation": "Amount of cash (inflow) outflow from investing activities classified as other."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r258"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfEquity",
     "crdr": "credit",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repurchase of shares",
        "negatedLabel": "Repurchase of shares",
        "documentation": "The cash outflow to reacquire common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r181"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfOtherEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfOtherEquity",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquisition of treasury stock",
        "negatedLabel": "Acquisition of treasury stock",
        "documentation": "Amount of cash outflow to reacquire equity classified as other."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patent expenditures",
        "negatedLabel": "Patent expenditures",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_PaymentsToAcquireOtherInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireOtherInvestments",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase of short-term investments",
        "negatedLabel": "Purchase of short-term investments",
        "documentation": "Amount of cash outflow to acquire investments classified as other."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquisition of property and equipment",
        "negatedLabel": "Acquisition of property and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "dei_PhoneFaxNumberDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PhoneFaxNumberDescription",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Phone Fax Number Description",
        "documentation": "Description of Phone or Fax Number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from issuance of common stock, net",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_ProceedsFromSaleOfShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from sale of short-term investments",
        "documentation": "The cash inflow from sales of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r166",
      "r170",
      "r235"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development costs",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r134",
      "r271"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r45",
      "r168",
      "r178",
      "r179",
      "r182",
      "r192",
      "r235"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r81",
      "r82",
      "r83",
      "r85",
      "r91",
      "r93",
      "r119",
      "r120",
      "r131",
      "r132",
      "r133",
      "r138",
      "r139",
      "r145",
      "r147",
      "r148",
      "r150",
      "r151",
      "r175",
      "r177",
      "r183",
      "r273"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales, net",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r79",
      "r103",
      "r104",
      "r107",
      "r110",
      "r111",
      "r115",
      "r116",
      "r117",
      "r118",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r154",
      "r165",
      "r265"
     ]
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfAccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accrued Expenses",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_DisclosureCondensedFinancialStatementsScheduleOfInventoryCurrentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r29",
      "r30",
      "r31"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, general and administrative expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r49",
      "r257"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r12",
      "r61",
      "r72",
      "r73",
      "r74",
      "r81",
      "r82",
      "r83",
      "r85",
      "r91",
      "r93",
      "r101",
      "r119",
      "r120",
      "r130",
      "r131",
      "r132",
      "r133",
      "r138",
      "r139",
      "r145",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r155",
      "r156",
      "r157",
      "r158",
      "r159",
      "r160",
      "r161",
      "r175",
      "r176",
      "r177",
      "r183",
      "r228"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r82",
      "r83",
      "r101",
      "r162",
      "r180",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r210",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r228",
      "r239"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Cash Flows (Unaudited)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Balance Sheets (Unaudited)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r82",
      "r83",
      "r101",
      "r162",
      "r180",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r210",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r228",
      "r239"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueEmployeeBenefitPlan",
     "crdr": "credit",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of shares for employee stock option plan",
        "documentation": "Value of shares issued during the period to an employee benefit plan, such as a defined contribution or defined benefit plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "crdr": "credit",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of shares for employee stock purchase plan",
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r22",
      "r23",
      "r45"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "crdr": "credit",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock options issued for services",
        "documentation": "Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited",
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total stockholders' equity",
        "totalLabel": "Total stockholders' equity",
        "periodStartLabel": "Equity, Attributable to Parent, Beginning Balance",
        "periodEndLabel": "Equity, Attributable to Parent, Ending Balance",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r26",
      "r27",
      "r43",
      "r193",
      "r209",
      "r229",
      "r230",
      "r235",
      "r245",
      "r260",
      "r264",
      "r268",
      "r273"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TableTextBlockSupplementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Details"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://taylordevices.com/20240229/role/idr_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock - at cost",
        "negatedLabel": "Treasury stock - at cost",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r18",
      "r19"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(c)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-2"
  },
  "r58": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r59": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r60": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "04",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r61": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r62": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r63": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r64": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r65": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r66": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r67": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r68": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r69": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r70": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r71": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r72": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r73": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r74": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r75": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r76": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r77": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r78": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r79": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r80": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r81": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r82": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r83": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r84": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r85": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r86": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r87": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r88": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r89": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r90": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r91": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r92": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r93": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r94": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r95": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r96": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r97": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r98": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r99": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r100": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r101": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r248": {
   "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"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r250": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r251": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r255": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r256": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r257": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r258": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r259": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r260": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r261": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r262": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r263": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r264": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r265": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r266": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r267": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r268": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r269": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r270": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r271": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r272": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r273": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>29
<FILENAME>0001376474-24-000142-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001376474-24-000142-xbrl.zip
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
MCU45A\MRNQ^[^K KUELW^UM*P7O.Q4U#:T76QNBXV+#.8RL(@#U *AX%GNM
M [8]X\@K\6;<#6YB8T25QTLC,-A-Z](6F+>!O#1Q_6!)BKF?PDN*H"*O@T ^
MM9E1]*'[R'W$N0X^2[+4"Q\ HM++M@E>MJW;%5Q)&X(-/1YWS.O$_[0;$R<(
MAW0+>3HS$_</C(EKXUG@#0/4  _ TQB-@&<] [D-E\Q#+$O]E ,:=E._\,?
M[-"+%X$-+- 8*#!#^(;6 .EPG,_<L^>^!2_1M[W0!>&!$#I DSQ9#O4HH::7
MSKH!=KA.ZH=KA]&AK-E9,XP.WDW3S25*PZX4G33)XZ6WXU*6IYU2Q2-ZZ(4@
MTH%$%0E4FQV\E$$OMZ;6.?N:O@J%]T,&J4E3BPSTO-PA9G6;*T;5#!XSW@5,
MY=GUMI3R7;;GLP@%2H!1V,"B55\:4'ER82O3_DH RHJ7^&$MT.SD=LAH3AO_
M@L6JB;]%4,KL<8B!-)M=G[G:6"Z?];C@"EVE8VP9ZQ,U_1MM^2("[W+62<_A
M&5JCH6P7B>!IP]&+UMI4@<%Z2I-OJ50+,.&X5!*=^NS !K(S7_,47U X^;$O
M>X:=OUG0-;*! P-U<?^^6CZ%:<=P1I9AX_F"'C_X, 9-F89G^AS>2EKF.F.>
M_-'XE'I8AV)%C0);<I%>XN-Y8CR3[M CQH^N\02"[*EAOX%>%QH506<)SV\9
M+<?&Z <LT=0Q\<QWO=._Z +^B;K28!1"YR3!/*!)DF[8@I \66J4.E=G7[70
MZK\0VXY1Y2/P)I4:F8,A"G&AY6"=)/<IORC'5$O8+W"RLNV\N+^I-RWH&:6<
M03B]<J%-%K9!6R[MIK^CBKZ%CH5YZ9SJ#+\;'JB>DL;B37A<?H]P;_B7.PTH
MLB#$A*MP375+P)(5X\F\8A*K*/]M_O+BLD05NX$-1Q8($#Y\='O=X; ..WT@
MK$C/X84,]"$L!M,XTW'7=(-N^/;"NHF=,YD7=)G7^W'D3#3B,XX5B(]8W%N]
MH!O1.0 )81(\-S$\/.RGA/NP;?)?H268YYWA_1-?N",>G<-F=EPW_>^^.6\@
M/PVDSIG0$R1U=?X3#.7%9GO+L+L,KT)X_,8@*2H(IOAG 5"+66:E@T7]16]S
M'MW-=]5S\] RG#!>.V@L-@:. _(3CWB\Y>18S&J1D-U$RT*I5TD+#5?23'&'
M>*6O]60UXV6UT)/BV^I3@5H/HHN@:_J_G#<62S.Z.[]_Y&Z6W&%B_R5ID_^2
M+/?QQJ2ZL5W?W)[?7MR<?P5^Q]#K\T<:?)Y_I+K8D]3J1IIBT+X[_^V*N_W6
MRZ\Q5KW@.1V3*E[B?*.1=*'NP325P8JZ^KTO]KH)")Q.O8;PUX+@GOCN^OKS
MQLM^VJ_!O7@HI?W%$#M<@,X>OW8N; L4,3B%GUW\FUXDP:Q 60$-B_[&;C%[
M\3PI(X'T%D8KH)Q& &ACW3Y.C./_<F*D1]JV.^*0=T0+N"U[-68T[Q5O+URT
MK*!5%7ZB'=.;G2^&;:#3Y\,+(8&/,;GN$[>2F8->D/YNS#A9I!_(!X?4C5T7
M)9V4T4Y?NLO5*-VV7>6V^[\]7MKCY1C9JR08D^HZ7N:R/9XK&,<_)K%+8P##
M(?1H<2R'1-YF[,HP_0B:?\I,^(B=\F&=0PN+L)&D*CL9VMUY,+NS!?^6O9H/
M_O)^P)]>E[ZX-HS3#V\A.98*^7T?"$U=U/YFQ:2%B:;"1'L*M>S5_%-(V<\I
M=&'X+]RU[;[-(ZO:LV;O2S=HSYK#!(/VK&G9J_EGC5HZ8-VZ <$WN36'SE'<
M;C>6^EI[7!SF?FZ/BV-C+^KM)#7!VXF^FSF9R1)&]4O'J-\-QWBFP!^[W%]:
M_FC*<JFC/G'N&/;,M]B->WQ>X('"0J7PF7OB3VVFN7R;$-;!ZD'R3G9D2>=1
M^6LM"KDN\44E2AO6XL@"CLA-P)$2Y<Y!Z9SV#PQSM$"DQ%PA"!#P@1W]COAB
MN_X4 W_.A^XTP'BG'R3@[BW_QWN5/LM? W&+M:+=[8<OE&XDC=B@T:@T;5D3
MQ.*6[;,=<LJ1'7):%8;\P(-3B1YP=YX[(B:>:>_U!"N?P.T)=OPG6%,W15/-
M*BPHM:%1J=\>_^/J?C4BM669QB#2T0#;488OZJ4?H5_)LV$SX82FRVR>=++1
M]UC?)B%HS7<^/K(M=WYD>TX42M]T:,?BKHU1X'K-VV]U1:"53U91/YC[U./:
M\XVX-RMSRY<?'OG=213M>#!LEM,J]!M/9'M'4\%WG]8F" _E]XL0Y:]"BQ#M
MC5@YO%E^Y.$E>3+H'?GW"::[)X[E>@ED>+<H4#ZE6Q1HKPS*X<WRHY5^1R?^
M!^.)@%B0N =_M[N_? JWNW]/NU\]MMU??OS(-YH0^L9A>6/A\W>[[\NGK;3%
MN:U!^[XA&[9_;!NV? _^JY\OUM "H?W=;M3R:7I &_5H]GOK!E!&DNVBU>SE
MP: Z9[R=X@G$\IW,[Z_NOMT_<M^NN9O;RZN[*_CK]I&[O_KMYN'QZO[JDKO[
M_N7KS05W?G'Q[?OMX\WM;]SUS?WO;;# ;CA=_D)*8@:<SD96K;'\7[[;]</-
M;[?GC]_OKQYJ8^G-X*,=+$^7OSB2M(FGXUI8!U<&HP8AQJ %30P11V><%:XV
M'[T2^6Q**44?&7<L"R4:JP^YQ$)"+\'-L4*18\[I%42X\]M+[N'[EX>;RYOS
M^S_2):?4<>IR)<-,+DU8:"1:G>&:>H7I9.SW&CPZ7:MB@3/' N1FQIU'DI&;
M=EN-W+TR)JFY4US[0UW9%/[/E,@Z[_;8G1O2=!P8[<?OCC$U+1CAIT* 4O:0
MFL4]QP<*:]@@F5'JO?!!6K=A#ODJ@*6&XZT1(LH:#L,T90T46=:,MC%"3&K-
M/EK@8!N'ZCW]^."KE6FR0<^J2GKU!?]\+EG8.??]C=+,V#)-FV0=5N4,DF\X
M57-.3N(<F9@\]3S ,\Z@''2:F84JD836!7)M&T:YLD_14>PF^N2-F]\;^K ?
M6+EE<1 6FJ'Y4M&Y>H0_D#^G%HR)9;,K#8\^3PP38ZA8UZ7P_X^A&5L:759Z
M_M08@IPP#<CG;>VQ<0SH((9G']C6@1:W-+N\YAOZ":WW8MA%>LGEJ=]]-HS)
M*2[!N6/B/U=S^I\'%X;GS8!L_\0RS*MEIS?777ZX[!2HMRS3FM-JGU=48:7F
M<E*F0VH=\T&Q.\N6R*0?JN%.-J7R65,65%DLG3459$UUH/(2.BJN8<U4MMS7
MF9V*MP\OKA=T00T9<Y;S2OQ@G!EL]XJI58$?I<<CD.-F3HUZL$[%FUI>[0]X
M32\5[/:":75"5R50DX41JD&6/C""PJNBP@_406W04J.,=SX:03\!"Z)SJ2NM
M1T8$X'QH$Y_G'!(<L+17%3)%5(/SC[H?W\])=DN"4/VJ!ZH&G3.%U[0^WY?4
M5BP[/&PKQ$K5@)W6.5-Y50512E .6(S"0\()7&_V?B6GF 1WAD=9Z\(=3UP'
MSTU@JF]/]\0G'ARE]4"4WCD#>!H,^,% :H6I?0-.4=ZH!',4 3%'5T1>KA%S
MZK2AN7XH7('@"K-'=P5B> ZF#4(_._)S1'R:UV!HV39+)M2*6\NF!B3BC7-%
M:?7MZ4M(J6_.=RPJ.[$)4)4FCH2W_6_>G><^>\:X'G131!3 5%GAA0W&AU8
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
MG!10G!B#C:!_XG7.^LO=3XQGTAV"UOJC:SS!(Z>&_6;,_,_+PY)Q.Z[L6EW
M/U&/&@YT89"VY9!N/+$$$4M=,"GSBP9E64/!$1@ 4,AR45O1&YPQ#=P(6V">
MMC'QR6GT0[@Z*BB[ KN46+W9D'H#-=/5AJST>W(E&4\>S__X^NV>N[SZY\W%
MU0//W=Q>]+CSVTONX?N7AYO+F_/[/W)8=+0^&@<JS_8S7#@0LQO E)[<W-%I
M8D^K);O.NGNVW-Q8N16:L5/=49B42VKNE"W^H2YMRA:XB$^[B^1I]Q"?<7AY
M>F'X+]RU[;[E30;?,L9A,$;ZA($F_L2 GN3.%HIK,+YB%_J+TLPOV%_4Q"JS
M?OSN&%/3 @8-[U?P\;-W2KX%\J01LSKF*O_PNW8]+G@!*1SD2VX,+[SX' %D
MRN.Q48=0D\JTP[-K,O2FAC?C))VGG#GT3O!S29"4!@H_:V;1('$H;81S(FL\
M)3!05][.WGI/;\6EF*\FAFE:SG.7&BA.U6CGOZ^C<HNUJC3AZMN$>$: 62O0
M;/)J!1;Q3\NZ2*R9B[;9)QO 7ML(MG>^VPUGYMG'N?RG8K0PU*19QKJ485H=
M5'Z;,%#*S1!<NIE5KS8-< -VY8*8L#,;EL-X_>IL^@.AQ%S"9;.;+I2>,'A?
MQVWG[-S\U]0/F)$B<#F/ !U'E@U*Q!PHX7/\;80&C"<T8'!/GCOFW/2#N:Q#
MN7RT?8<'=1E8T93#>Q5\N$LR 8ZU#-QYC3_.JSIWDT2 GVV"/YP[YOG8]0+K
MW_3S.H]C'6,/>%D1>45>C4ANC^/JW7BS')]%N*;24Y56!Q$$F=>E<G*K[D^)
M706J)%6;?$3N!\'F0LBUZ^T-MC 8@=?44C6(5H[8*\AE9JQUR%8H'%172@L'
MK5^D>DAD*O,YB^9%H;G,?.*]6J.,^36.$:5 V\0X%G))V+\WSK5A>31/3$*+
M^N:<^SX)?#A*OUK&T+*I7G1A>)Y%S/,@?N6[8Q(O_NW;9%>X*QPPHV/2(0$$
MMI0(K%98:P:.U<]Z>42]XJS7Q_@_#?2$G/7@#D#BNW@QG&=XV'(X-W@A'F?0
MM>$,Q^3L^>JT!I.F#/'(#2:BQ!21T0@H$/(A8TQ0 XGUBDZ?/H^&OO: CU$V
MHM9]3*+]'-&#SEF_W^>UE.PT[1%=UQ&])2RZ"/=4:E#!X ->T/M\/SVI4:Z3
M5>Q)^S]90PR[<5Y!W'&]69//SJH@+#<71M0"8:-6<XI.[7FZPDM]H::<6@U
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
M1OM;O.5<AS(+<!7^EMA0N-!XQ'D^L[)$O8Z <T#E8I6N_,H6\I#/%BT\6_!
M<0+7FYUNNX^([J,?1B_$G&(2T/C=L-+W(ZY/H6N)^2W$0,IY"[%-, \8T[#V
MHK<X8QJXD:\!4-XV)CXYC7[ :V=OX7(S<"?+SA::WA/27(L&J[Y%)UO:@J:T
M;"WM?+.W<O*E7^:NCE'IB1EG6]D-\^J@!H.:R)84#5*\%]8.<]N=_!(3,5>_
M72?0.;LWWE 2@,UKV&M"SG*,<I$]RQIC:;YGU7CF:'*62K8A_@&]?X_(78\G
M&18$T%6^+ZT& F_W'LNQ]HO;OIRU+[KGMPPU"0;OA$FSE5O.P*25!$B@0T%_
M(/-*2K3Z%G>PC(=OWN7\+]?[ 6)==X+I?/P,R)@$P#T'*N0"))SHC7/'IED+
M(BEBYPSP2-7X?DH!B7R8E(2>NL6) PA'R;;*U6QI"5=9$%1>$5<S_A3=U!FE
MI+Q+<VTYEO^"Q@+7-<L6@QH;T)0+)R(2_884J@<GY,Z9-%#@4,C,/V5(+OL(
ME2LHNS26LW)ATT;.J@:;,&6]+/"*K%8E;N13Y)N9S" 7/OSFN77)#RH(B_Q
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
M(*;#&E_3)BPB^4DKKV"EC7"$?&>>#]&?(TJB_X77#.HNSR8XYZ1'NOP&JZT
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
M*(O/0[KGE4,2*_?%!B&Y^S!Z<3&P=>R:Q$ZN#?V I@> _>IA]( _'8?+GZ@
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
MCNP\)_\5/WY:\'YDM5!%B7[E)</F#JU\\)9;3<XC8>4#CM54 ,K36.UY/H7
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
MSN?C$4,X I0^AL)A[7J/8"WN(EM>7-Z>_BL%Y33D9GNFQE%/9Z;U /_ ?S4
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
MT(LMD>T1\TV2&#59V0QYIL>R,?I\T\4.UN(M;]4 7M.-@<Z/_@-02P,$%
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
M_QUV2:A(MJ$>M9%=-J]%1(?,%E00(2B$+;5DN<6!3RRONI,"%]A QUOM2YL
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
M,X1<7W^&^0J=L5D>OR DRLQ8WS^P+>J,=8D"6OO1<@6=4PM<X,AY\HTRP'-
M']A1BX(Y)@!5/ 'E3,&RX@J6K')DX'52W2ZLW7L_".#/("F8<)1)=\,[[1C2
M+%$ NKNL*V"U$K@ 4A "L$A!FN7LH)\"5+$"2W;J9R?3!2XD5",#HE8ENT S
M]TH0()U ^C M4O[/V?^LLD>8LQT!G98GD) 7)I\ O@)8=G5=@=9+0A?@<0X"
M=PG_@#:\(H-9+X7LPJY_G_6&(47)FWO\>)2B3"*0?=@ CWWY_:PHLY)M.G/T
M<;6X0V2G]SN+[ LC'3\7M-R@A*T/9<;6RVE2 DX<2.J1P$77\!H51DV'/2]R
M\(F[SVO$KX61\<S8KN#MW*B4Q04TEXA2 /,</XDM%]]HX3O*:M $L1\B08Z]
M+I0'2GW'!$'51U3R66Y&\&.6HO3XY1-%Z47!CKI,]VRF8Z,V>Q0#6(&R'@1<
M4==?5J<3*"K!O"8-X)JV!GYQ-*A<W^KY:=48@ZJ_9G8'V9ZX##+H9O!EP3<4
MYYA<H_K0>#6_*A\0X?N-\D4QV"PJN@XR>]E<!M<T8:1HQN<^?J0N"8)T15[D
M.=KC"//4F@[+C\=&C3' [!6S.[!Z8C#H@+K%H@\(NBA*UC/978ZFE*)2M7B9
MZ_D:3D;)7$;3C*&R* %Z7J(BS<H5\;I*^6F"W1#JUY(Q!XY1&ZIQ8X>U0$>*
MA,]1Z!3)?R^*:9+@%1.2"0N98+<$IJI[#<O*[D>-/C*ZK4F2+EA*PN!_W_Z?
MQV'DOR'EVM9LT9K(AE$_;;1/4+VQ%VI X06ZA<]G? *CZ!@5:)ZIS'.JTAZ&
MC$X*IY6&;Z>Y&YLXE6>"$2CA<W33M$$''8 R=D5 !%UB2L]9>TYP46;%BAU7
MKI:(2"^^8\14C]8"(WKV7!+(],M.-N3EHD0+^I'IA]5DNF*BW;-U!C'4Z%$X
M#$<_2!Y4&TY608G_.R$#6.XS-EZI1K1W#![4,MZ4,:AJNZ>=X<=>D*GK,H-W
M62ZN5$Y6A+"]KF+&Z2CH.E&H>;N,;^$?!Q))$.0;'AX'M)ODVG&XC_AC##RU
M"G;'BP$Y06"^L]/40UU1V!7N>AE\'H(B@XJ^X;MPL=#^F$86;@>BY=9=M,&A
M;P]" QE=+&1WVUE5Y%^=B<)",9:F"MM>#><[^(!SIF,J;WD-4-54\.(%J)7%
MR66A0?U?X!+3?P>2263X,VNATVO/W"5A\)0\H'25HZLYFZ3)"J6-I?U6W.#4
M_K(J?-D3<,9;;UF=\%=QXR:DBA^H;B5BFP+[*Z8%R?UZ,3!$UPX;U0ZB)T -
MU?W!TTY.7^!<<SL$%;]HX6FG&#4X>_3@2(8;87ZMI-.:/*VJ^C?:J.5S@:.@
MNC[A0D%W<+/-GDVQ,X!VM2BR8=5'(V;#C0%]85Y6H25!229NW-CG'/$/TR*=
M+C IL[^+WQ7#R:JJ\UNK'O*Y#*<F'\_#R'<3M+;/)K/(!D\?/;0>D_7%6I#!
M(P:P'+GZN[".@JX#0\W;]ZH2&8S4#=\%C4'K [Q;.,7)BGNZG&<T@?FO"))S
M]LON?D17TN45@X&[T_18D0:2-N#$@: >"3HLVM]\TV"C_L'>M4S3E/4DK?XY
M130AV;)CH;6IX?[JQ2B-"VXD"U 1/ZP_@ :;B !DJ9#VXQB[_AEPPKDEL)#N
MM]=HR99$S8S3*NICRE'Q]S+G;(@#23TBR)@4T#7I:'L@R,;%-HJ"_]@)@T1,
M.$4ES/)8EB)C4W?W*1'$1SA9T1(O$&%[:\R@:=C.JDH[O^352^'T=K<B#=**
M=F1@,32]]4K7H@<B>T2WGWU71RC<HSJ?D]7Y/](3M#WMN[:]&DULF,HIUC$J
M3)-*B'@P'5(/'PD&BXWO:XT#TZ&R?2+ J'HZS.ZN>GTG!#T1X5 ^H(XP"N;R
MSKL]DR1.+HKU(T-!G<=VY?0CPYQ1 ZW-H%5GA/9JG19I;S<8Z^H>/6"MY'0*
MT+#A)4+!O!:7F;XZTKB?VG?F8#=H<EP(*41L)'JU*GDX7QY66GF)IJWD?H]F
M(Y.'JS3)II[S)"?08!4)[OKII7VC9MU9 V!L]H += Z?9;@;_?VLNJP+HHP2
M.#UDX\0!HUZ%(XKT,M:H@R9H[+HAG%&PW@=>HURX/+2<]]DDRA^OF*V&/2EY
M,2ON)[T3)ME"@HN"R9M@&MWEC(-2.FV2#GT:Y@"QY>-ULUHN<\0OKDVWQ:9J
MSL<)2[F<3A6<!SVJ'>!B@Z*M"EK'BCY]LS_(*"D; &/?-N!B7WX_P47*O7G3
MZ@((YC<E&P$R.(3"J=2^WK[PZBV9TT5TS0BL.8$-JTC0UELC-=SVZZQQ N7,
M"%XB4K[P2QH^X_*#S'*A7HY[$/ >.L<HJ]O#MZW@3<N*ESC?HIK1D%%UW%JW
M5X2JWHV,(N".45'&R#MVF!TS%-P^4>"&#0#G+_;;ANKF#GWXD&_>H[WU;$9$
M0=[VBN\V5FBW&R3"&OR("D1@SKU=TP7/PU'R  F/J'H9I;)'V55V-D/UDM'I
M_8WD= CN)2\Q<\,M;C)X6H2/Q7HIJ65OZM^30:,!,(G$J?8:)2A[%,<G;O:U
M"@Z@K^LK5H"5A%Y"!W!,8N%#33:\#D&!8MM:]%*-*KB ?>\-[FLM;;!VWM;-
MLO[\K3LD\.EQ+<E'[G/=H0.UU[6J&P; RI1Q307G''89B+;_[H*)3DY.4TM-
M$'"*$?5\9TN;O:U6ZF!VP<M,1(V802*\,>K4*4J3H*J\NS70((D'0V#%X1 P
M'D PX7.$M A&!!,K=;3M?S8],VCB$7+"3D#WF.R>1%6E_*0?:7'U !1!%]2$
MHX-&9[.[\X]T:WLX+P.YD9%.^@R,_!JS<WNA+>[!LT KAP^?@NJ]WYH#D"RB
MPXI>$QU>!.8N"754VHGP46^=&S^ICTH6=3T<E>PE=#PJB;@NNXY4\N7IY2"!
M!KTW3AM[T$<+1SH2VFNIXTC8$Z4C10OY5#!I<I0VSJR*@6=7UW^\$(V$;H9'
M6EU0\-!J"[B5.#$K 'I.^,M,/ ><O?AUZ' B^[;4[I:Z?X,C&Y"]%&8.-V)"
M[UCA>V3 W^+^!"XS-JT:G$QZ$!@@E(]!5J?Q^<"^(8%,>8-8Q?3A (XW@&U_
M'5G$Q;'IT##[MO2_5[04-B'NCP7I@P@[?8O9&&+?>4I$5&XB6=_BKL=.Z^98
MOX4;G*WS;C&07IPVFAL908GY?;R4C%_&KV.Q8_%-Y'.=Y_B) HYN@&O)XGVB
M%ZH'6ON\D- ,]/RO<DZZFG-9SSD,C %>-57<'_:9Y?'C@,8^49QGJ=@9;7RT
M^(Y(I#H6K,&7GPJX2C-6YD^1C0$;3;4?[UEV75CL21>#$[Q8XH+WP?0Y4QU+
M]'6\H4\GD=.5DZ +-H3!;YSTWV+%EDX/2G 9NR8LNH3SKPE.LI W_&SQ=/+[
MJ"G&BI"MEBHAT5;O2,'+E3AH%?0?K-P''F1J#]I^=XE,[R[#RF^1GR3^1BR%
MC9Z!F)2JIDBBAV!:EB2[6Y4B?R#;6,\@OWH_!,?H/BOXI0LXACG4)S$?HW%G
MA?(&R=2T,_$<T:)=HT4[Z-2-.3C^""=M7>!F3Z&9_05?GIH"8PXOFMX$$6/@
M3GUX9!\!D&T-N_Q\2I98YAD3*_0)]V<C;,?6ROEJ6\O=S&LEE0=K[Q:?0WGP
M8V  %3? V44"G9[*:1N [?ML0 _%6;W.G#+^'?#J+N?#,[&3LQ>OQ,H=D9$&
MG'9$>-&VO<L;4:WVD2PBQUF5SO!,6*BNYMR2=34_JVQ7UH81$QW_]A%+R5T0
M>%P;)[<L>(G.UC>T&=-CJ[6QW?LW/9)AZ:PZL\VH#]8CR%-B=ONQKS]LQI*!
MW'_JESI!4Y;LZ^UC2#:_U:#HAYQ!(?W2EHSJW*,(+MG?WKH'H8%BCPYL$[V*
MW["YOV(L8X]&9GQ4QY*4/Y]C<H/(8Y8H5XI^-(:,.ZJ4V.W^?Q-5E&U]! L1
M=Y163"(#\%X*ZA-C5-^G@?QB4A%) >8SF+$Q53GJ:*.,ZNNX>Z182.3F3E(S
M )S#A.W!*QZ1X<]*$VVW#MO."9U8Z4-&$Y2SKD!X1>U"INDK>DR\9)#-::5N
MN !&!C![!6@2,MGT3I@5^ &3\A:1A<PY+3Q@5 MM5U'G]53#WVG9Y'0G[.BR
M -F&<F10TC6^M22:M#]D>AU&47-Q*_[L)8U.@X^7:UI.,)(^5[6S,T/.KD*'
M>^/'N!&87Q0I>OX)J1][[I;S\*JOF[-;>*%[$1:$=?S)Q4\1];NVQ1W/]C3*
M#KC_J*)<S. +-_SSP"NM1T[:;8A-?3^[D1Z2.F]*(H'5W@KHWI3T[:O(+KB<
M+[8"7FCY0"+CUM=+/XX&:=TV]FA5W%=T[E=S,1ANZLEA\W#.VF;34=6_N48M
MGZ.EQA33:G#CS9XMLXT(^MJ"=O51D-F.8\#F2(/M'&8RY$OCI=%5(2\-V++<
MC)4."<E0.BW753ZQ#2-9?[OJRMD0D+'_@3Z4;@:]GA]\DAA%*W93S&NS7813
MKGEZ&G0\ADFJ*EQ0?L0X%3F3JBZ_P7FJF)0T%9Q3JQIE<8TMP7V1[CE]0!G5
MR(!M;GXKPZI=7X1/Z"<@K0!01T&O*?RV>#L]XJES]\F<D1, 2^'(YG&AV%-P
MNXE]#_G'@+U:!]JT@VWD!'P#8HJ-L%W(SYL0KW$'9-@.O[N>_<74.Z_%:%_L
M;FOW>Y&P:0=O'E">\U>]L%!;"K8*N9L)NGAZ> 0BR(**;B0 T#>Z;290:GH
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
MW/9+DU8$ W/TMDX06N$GF^#5BCZY"H/C-^9NGTGJ#M2*3%*+E$7/T6;#GGC
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
MZ\+^N>YUF%"LI"4/-Y//#WDT7HY-#O32QP#V'/#A?[$D1V ''\6'V> 1OVS
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
M3]\G>-]@A._AYI*_E9>SWQ[^!E!+ P04    " #=0'Q8!*PJ#G$$  #/$
M#0   '1D7V5X,S)Z,BYH=&WM6%USXC84?<^ON)V=26 &@W$2-@&6&8--0S<!
M"B;;;:</PA:@'2,YDAS"O^^5[22DN^TDDX_FH9D)-OJX.O?XW".9]EEP<=[9
M:_]D63"6(DI#&L%\"S1:$FDI*J]92%4U%&M(%>-+\+V?W8E*F::@Q$)OB*05
M<*-KPLW,GE@GJ:82!IR+:Z*9X*J"7\)J!?N2K63+E892KPR.;9]8CNT<P1_C
M\1?_<CJ;SG[Y_/72&W[Q?I]=_%F%S693S6!DJV40+ NAGOFNAY=@$)S[G1Z5
MFBU8F"W5KN6->^U:,:@[\K[BQ1M<@M+;F'Y:$[EDW(KI0C<_.HEN;5BD5\VC
MQDFB.^TQD)@M^:=OJ<*HVV+.P4)PW:S;B8: K:F"(=W 1*P);^7AFO9!9Y_/
M5=)JU\:XW#/"M+L=_V;%YDS#H5-BK-RN=3L/HX:4&X:?B>W_*"\5!1]9SY\$
M@_Z@YP:#T1!&?>B=#?P^] =#=]@;N.?8A+W^Y/D/LZ7IC;88CW!>\["1Z&S]
M\6PRG;G# ((1U$]@5IU6>U68^KT,3_WPV,8:G8+KC<:![\'N\-M!IW8#7@L>
M$A*<^3!U)UUWZ$^MT6_G_E=P>X&A"HW ^7[A_[ "/W>]'YB%208Q8F=GP"$4
MG--0PX;I%>@5A:N42&0JWH*DB9 :Q ("LHV%!(]F'IK;()3,Z/VK5.B6,4O"
MM_F7,@@.?2'74+>M7V&!$W?B D5*(^C3N<2&+3BG%<C,4PN84UBP&'LS,%,:
MII)IAMD1'H%_$ZX(7U+CS&NF%+JD60BCD[E(=;9&1-#,5U12Q+P#;Y(E4J!#
M]!48DS2&,XH T,U7C"Z@SS@:/R,QC!;HP@@48Y@016X5"#.#QILD12,G7!O(
M"-+X]?Z'>L-N&>45LZ9$S@FGRAK=Q'0+;ICQ:!1205WGPV_%G8<HQ*U71#=?
M2 !OIJ-2O0P!9IT3#8LT1OG@-I?$YNG=24O2JY1)NL:24H:.!^35#TND;!YG
M_;@4E>]XO!?!G0 *,NNGAT<M(XWWQ-8/;*/DY.0PCJ6PSK9W4W6:,(Y29SS+
M\Y8YPDSE)9(J0U+%=),X!IQ&I1$G=B3(FJIDLQ9WHL6 $<M"FUK!46F<<RP2
M*O/3R]\$#>2NQ91-7F2WQ8J3F(@4AKW&:LK.4?<HJR_/T6MQ/]# %'"!%[3_
MS'E,@>$'-BN->1LQ&N.)*-Y&#US(D(&UG@A%U2/U^$;4O,!F]C#L2T4*W.ZY
M7T2;"QE1:84BCDFB://VIK5K(M91]=C82##!?P^N\_RT2(H@^:'6<1IF6"LA
M481']WQJ8Z<A.XTW&_G)]Y')6+A*%J3X.A=:BW73J9X<F[0\%$<3+H@,5^"<
MY)M4GF0M\/X-[)']YEB[V^:CH-6//[XYMG9_A.>S(E:AB6)(/;G!5Z^81?#!
MSOX..C55V]F<\YWA-3[;-0.KL\-:#26X]PYUN%M>[T]Y3T#WEN*S#;9['3W9
MY@XZ_W J_$XPM<SRGAK] 6WX3F\NQ1M^+?\=XR]02P$"% ,4    " #=0'Q8
M/0(#79N.  !B P< $0              @ $     =&%Y9"TR,#(T,#(R.2YH
M=&U02P$"% ,4    " #=0'Q84U8$*WL$  #T'   $0              @ '*
MC@  =&%Y9"TR,#(T,#(R.2YX<V102P$"% ,4    " #=0'Q8&>LVC*X)  #U
M>   %0              @ %TDP  =&%Y9"TR,#(T,#(R.5]C86PN>&UL4$L!
M A0#%     @ W4!\6.+Z#Y@P!0  J"T  !4              ( !59T  '1A
M>60M,C R-# R,CE?9&5F+GAM;%!+ 0(4 Q0    ( -U ?%CXDS]H1QH  $M6
M 0 5              "  ;BB  !T87ED+3(P,C0P,C(Y7VQA8BYX;6Q02P$"
M% ,4    " #=0'Q8"+O8=UH0  #;\P  %0              @ $RO0  =&%Y
M9"TR,#(T,#(R.5]P<F4N>&UL4$L! A0#%     @ W4!\6+J]+ZYY!P  @1P
M  T              ( !O\T  '1D7V5X,S%Z,2YH=&U02P$"% ,4    " #=
M0'Q8.UA=U&0'  !5'   #0              @ %CU0  =&1?97@S,7HR+FAT
M;5!+ 0(4 Q0    ( -U ?%@!7;V)?00  (,0   -              "  ?+<
M  !T9%]E>#,R>C$N:'1M4$L! A0#%     @ W4!\6 2L*@YQ!   SQ    T
M             ( !FN$  '1D7V5X,S)Z,BYH=&U02P4&      H "@!V @
&-N8

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>tayd-20240229_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:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tayd-20240229.xsd" xlink:type="simple"/>
    <context id="D230601_240229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="I240229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="I240328">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2024-03-28</instant>
        </period>
    </context>
    <context id="I230531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="D231201_240229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D221201_230228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="D220601_230228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="I230531_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="I231130_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="I221130_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="I220531_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="D230601_240229_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D231201_240229_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D221201_230228_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="D220601_230228_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="I240229_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="I230228_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="I230531_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="I231130_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="I221130_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="I220531_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="D230601_240229_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D231201_240229_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D221201_230228_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="D220601_230228_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="I240229_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="I230228_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="I230531_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="I231130_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="I221130_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="I220531_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="D230601_240229_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D231201_240229_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D221201_230228_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="D220601_230228_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="I240229_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="I230228_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="I230531_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="I231130_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="I221130_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="I220531_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="D230601_240229_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D231201_240229_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="D221201_230228_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="D220601_230228_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="I240229_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="I230228_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="I230228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="I220531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="UsdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="D230601_240229" id="fact1">0000096536</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="D230601_240229" id="fact2">--05-31</dei:CurrentFiscalYearEndDate>
    <dei:AmendmentFlag contextRef="D230601_240229" id="fact3">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="D230601_240229" id="fact4">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="D230601_240229" id="fact5">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentType contextRef="D230601_240229" id="ixv-5609">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="D230601_240229" id="ixv-5610">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="D230601_240229" id="ixv-5611">2024-02-29</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="D230601_240229" id="ixv-5612">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="D230601_240229" id="ixv-5613">0-3498</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="D230601_240229" id="ixv-5614">TAYLOR DEVICES INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="D230601_240229" id="ixv-5615">NY</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="D230601_240229" id="ixv-5616">16-0797789</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="D230601_240229" id="ixv-5617">90 Taylor Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="D230601_240229" id="ixv-5618">North Tonawanda</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="D230601_240229" id="ixv-5619">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="D230601_240229" id="ixv-5620">14120</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressAddressDescription contextRef="D230601_240229" id="ixv-5621">Address of principal executive offices</dei:EntityAddressAddressDescription>
    <dei:CityAreaCode contextRef="D230601_240229" id="ixv-5622">716</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="D230601_240229" id="ixv-5623">694-0800</dei:LocalPhoneNumber>
    <dei:PhoneFaxNumberDescription contextRef="D230601_240229" id="ixv-5624">Registrant&#x2019;s telephone number, including area code</dei:PhoneFaxNumberDescription>
    <dei:EntityCurrentReportingStatus contextRef="D230601_240229" id="ixv-5625">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="D230601_240229" id="ixv-5626">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="D230601_240229" id="ixv-5627">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="D230601_240229" id="ixv-5628">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="D230601_240229" id="ixv-5629">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="D230601_240229" id="ixv-5630">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="I240328"
      decimals="INF"
      id="ixv-5631"
      unitRef="Shares">3093964</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityListingParValuePerShare
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5632"
      unitRef="UsdPerShare">0.025</dei:EntityListingParValuePerShare>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="I240229"
      decimals="INF"
      id="ixv-5633"
      unitRef="USD">3056450</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="I230531"
      decimals="INF"
      id="ixv-5634"
      unitRef="USD">3575219</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="I240229"
      decimals="INF"
      id="ixv-5635"
      unitRef="USD">21567890</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="I230531"
      decimals="INF"
      id="ixv-5636"
      unitRef="USD">24514757</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5637"
      unitRef="USD">4886625</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5638"
      unitRef="USD">5553504</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:InventoryPartsAndComponentsNetOfReserves
      contextRef="I240229"
      decimals="INF"
      id="ixv-5639"
      unitRef="USD">6677772</us-gaap:InventoryPartsAndComponentsNetOfReserves>
    <us-gaap:InventoryPartsAndComponentsNetOfReserves
      contextRef="I230531"
      decimals="INF"
      id="ixv-5640"
      unitRef="USD">5941304</us-gaap:InventoryPartsAndComponentsNetOfReserves>
    <us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
      contextRef="I240229"
      decimals="INF"
      id="ixv-5641"
      unitRef="USD">4534019</us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms>
    <us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
      contextRef="I230531"
      decimals="INF"
      id="ixv-5642"
      unitRef="USD">4124182</us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms>
    <us-gaap:OtherAssetsCurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5643"
      unitRef="USD">464745</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5644"
      unitRef="USD">668554</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5645"
      unitRef="USD">41187501</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5646"
      unitRef="USD">44377520</us-gaap:AssetsCurrent>
    <us-gaap:OtherInventoryNoncurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5647"
      unitRef="USD">1360932</us-gaap:OtherInventoryNoncurrent>
    <us-gaap:OtherInventoryNoncurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5648"
      unitRef="USD">1003140</us-gaap:OtherInventoryNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="I240229"
      decimals="INF"
      id="ixv-5649"
      unitRef="USD">11135688</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="I230531"
      decimals="INF"
      id="ixv-5650"
      unitRef="USD">11721784</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="I240229"
      decimals="INF"
      id="ixv-5651"
      unitRef="USD">298148</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="I230531"
      decimals="128"
      id="ixv-5652"
      unitRef="USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5653"
      unitRef="USD">241051</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5654"
      unitRef="USD">210120</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="I240229"
      decimals="INF"
      id="ixv-5655"
      unitRef="USD">568615</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="I230531"
      decimals="INF"
      id="ixv-5656"
      unitRef="USD">568615</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Assets
      contextRef="I240229"
      decimals="INF"
      id="ixv-5657"
      unitRef="USD">54791935</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="I230531"
      decimals="INF"
      id="ixv-5658"
      unitRef="USD">57881179</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5659"
      unitRef="USD">955841</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5660"
      unitRef="USD">1717657</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5661"
      unitRef="USD">4039991</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5662"
      unitRef="USD">4078322</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:BillingsInExcessOfCostCurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5663"
      unitRef="USD">1960286</us-gaap:BillingsInExcessOfCostCurrent>
    <us-gaap:BillingsInExcessOfCostCurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5664"
      unitRef="USD">1992470</us-gaap:BillingsInExcessOfCostCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5665"
      unitRef="USD">6956118</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5666"
      unitRef="USD">7788449</us-gaap:LiabilitiesCurrent>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="I240229"
      decimals="INF"
      id="ixv-5667"
      unitRef="USD">11794037</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="I230531"
      decimals="INF"
      id="ixv-5668"
      unitRef="USD">11049216</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="I240229"
      decimals="INF"
      id="ixv-5669"
      unitRef="USD">48654388</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="I230531"
      decimals="INF"
      id="ixv-5670"
      unitRef="USD">42128256</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockValue
      contextRef="I240229"
      decimals="INF"
      id="ixv-5671"
      unitRef="USD">12612608</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="I230531"
      decimals="INF"
      id="ixv-5672"
      unitRef="USD">3084742</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="I240229"
      decimals="INF"
      id="ixv-5673"
      unitRef="USD">47835817</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230531"
      decimals="INF"
      id="ixv-5674"
      unitRef="USD">50092730</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="I240229"
      decimals="INF"
      id="ixv-5675"
      unitRef="USD">54791935</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="I230531"
      decimals="INF"
      id="ixv-5676"
      unitRef="USD">57881179</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5677"
      unitRef="USD">12254093</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5678"
      unitRef="USD">9891272</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5679"
      unitRef="USD">32517596</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5680"
      unitRef="USD">29479337</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5681"
      unitRef="USD">6501227</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5682"
      unitRef="USD">5629523</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5683"
      unitRef="USD">17569487</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5684"
      unitRef="USD">17357733</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5685"
      unitRef="USD">5752866</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5686"
      unitRef="USD">4261749</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5687"
      unitRef="USD">14948109</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5688"
      unitRef="USD">12121604</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5689"
      unitRef="USD">108363</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5690"
      unitRef="USD">190688</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5691"
      unitRef="USD">321518</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5692"
      unitRef="USD">881335</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5693"
      unitRef="USD">2651289</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5694"
      unitRef="USD">2266115</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5695"
      unitRef="USD">7660172</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5696"
      unitRef="USD">6500487</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5697"
      unitRef="USD">2993214</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5698"
      unitRef="USD">1804946</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5699"
      unitRef="USD">6966419</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5700"
      unitRef="USD">4739782</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5701"
      unitRef="USD">362707</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5702"
      unitRef="USD">239941</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5703"
      unitRef="USD">1122713</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5704"
      unitRef="USD">432984</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5705"
      unitRef="USD">3355921</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5706"
      unitRef="USD">2044887</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5707"
      unitRef="USD">8089132</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5708"
      unitRef="USD">5172766</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5709"
      unitRef="USD">659000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5710"
      unitRef="USD">386000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5711"
      unitRef="USD">1563000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5712"
      unitRef="USD">952000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5713"
      unitRef="USD">2696921</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5714"
      unitRef="USD">1658887</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5715"
      unitRef="USD">6526132</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5716"
      unitRef="USD">4220766</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="D231201_240229"
      decimals="INF"
      id="ixv-5717"
      unitRef="UsdPerShare">0.82</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="D221201_230228"
      decimals="INF"
      id="ixv-5718"
      unitRef="UsdPerShare">0.47</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5719"
      unitRef="UsdPerShare">1.91</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5720"
      unitRef="UsdPerShare">1.2</us-gaap:EarningsPerShareBasic>
    <us-gaap:StockholdersEquity
      contextRef="I231130_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5721"
      unitRef="USD">102171</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I221130_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5722"
      unitRef="USD">101457</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230531_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5723"
      unitRef="USD">102127</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I220531_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5724"
      unitRef="USD">101342</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="D231201_240229_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5725"
      unitRef="USD">2</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="D221201_230228_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5726"
      unitRef="USD">5</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="D230601_240229_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5727"
      unitRef="USD">8</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="D220601_230228_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5728"
      unitRef="USD">20</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D231201_240229_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5729"
      unitRef="USD">825</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D221201_230228_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5730"
      unitRef="USD">244</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D230601_240229_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5731"
      unitRef="USD">863</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D220601_230228_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5732"
      unitRef="USD">344</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockholdersEquity
      contextRef="I240229_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5733"
      unitRef="USD">102998</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5734"
      unitRef="USD">101706</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I240229_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5735"
      unitRef="USD">102998</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5736"
      unitRef="USD">101706</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I231130_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5737"
      unitRef="USD">11269228</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I221130_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5738"
      unitRef="USD">10394127</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230531_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5739"
      unitRef="USD">10947089</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I220531_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5740"
      unitRef="USD">10227916</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="D231201_240229_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5741"
      unitRef="USD">2489</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="D221201_230228_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5742"
      unitRef="USD">2429</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="D230601_240229_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5743"
      unitRef="USD">7559</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="D220601_230228_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5744"
      unitRef="USD">8083</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D231201_240229_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5745"
      unitRef="USD">419322</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D221201_230228_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5746"
      unitRef="USD">105630</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D230601_240229_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5747"
      unitRef="USD">435083</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D220601_230228_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5748"
      unitRef="USD">137750</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="D231201_240229_StEqComps-AddPaidInCap"
      decimals="128"
      id="ixv-5749"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="D221201_230228_StEqComps-AddPaidInCap"
      decimals="128"
      id="ixv-5750"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="D230601_240229_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5751"
      unitRef="USD">301308</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="D220601_230228_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5752"
      unitRef="USD">128437</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockholdersEquity
      contextRef="I240229_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5753"
      unitRef="USD">11691039</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5754"
      unitRef="USD">10502186</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I240229_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5755"
      unitRef="USD">11691039</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5756"
      unitRef="USD">10502186</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I231130_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5757"
      unitRef="USD">45957467</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I221130_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5758"
      unitRef="USD">38402777</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230531_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5759"
      unitRef="USD">42128256</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I220531_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5760"
      unitRef="USD">35840898</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="D231201_240229_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5761"
      unitRef="USD">2696921</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="D221201_230228_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5762"
      unitRef="USD">1658887</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="D230601_240229_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5763"
      unitRef="USD">6526132</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="D220601_230228_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5764"
      unitRef="USD">4220766</us-gaap:NetIncomeLoss>
    <us-gaap:StockholdersEquity
      contextRef="I240229_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5765"
      unitRef="USD">48654388</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5766"
      unitRef="USD">40061664</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I240229_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5767"
      unitRef="USD">48654388</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5768"
      unitRef="USD">40061664</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I231130_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5769"
      unitRef="USD">-3100541</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I221130_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5770"
      unitRef="USD">-2915002</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230531_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5771"
      unitRef="USD">-3084742</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I220531_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5772"
      unitRef="USD">-2915002</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D231201_240229_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5773"
      unitRef="USD">-368488</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D221201_230228_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5774"
      unitRef="USD">-54705</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D230601_240229_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5775"
      unitRef="USD">-384287</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="D220601_230228_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5776"
      unitRef="USD">-54705</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:PaymentsForRepurchaseOfEquity
      contextRef="D231201_240229_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5777"
      unitRef="USD">9143579</us-gaap:PaymentsForRepurchaseOfEquity>
    <us-gaap:PaymentsForRepurchaseOfEquity
      contextRef="D221201_230228_StEqComps-TreasuryStockCommon"
      decimals="128"
      id="ixv-5778"
      unitRef="USD">0</us-gaap:PaymentsForRepurchaseOfEquity>
    <us-gaap:PaymentsForRepurchaseOfEquity
      contextRef="D230601_240229_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5779"
      unitRef="USD">9143579</us-gaap:PaymentsForRepurchaseOfEquity>
    <us-gaap:PaymentsForRepurchaseOfEquity
      contextRef="D220601_230228_StEqComps-TreasuryStockCommon"
      decimals="128"
      id="ixv-5780"
      unitRef="USD">0</us-gaap:PaymentsForRepurchaseOfEquity>
    <us-gaap:StockholdersEquity
      contextRef="I240229_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5781"
      unitRef="USD">-12612608</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5782"
      unitRef="USD">-2969707</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I240229_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5783"
      unitRef="USD">-12612608</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5784"
      unitRef="USD">-2969707</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I240229"
      decimals="INF"
      id="ixv-5785"
      unitRef="USD">47835817</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228"
      decimals="INF"
      id="ixv-5786"
      unitRef="USD">47695849</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I240229"
      decimals="INF"
      id="ixv-5787"
      unitRef="USD">47835817</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="I230228"
      decimals="INF"
      id="ixv-5788"
      unitRef="USD">47695849</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5789"
      unitRef="USD">6526132</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5790"
      unitRef="USD">4220766</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5791"
      unitRef="USD">1341435</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5792"
      unitRef="USD">1003924</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AdjustmentForAmortization
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5793"
      unitRef="USD">1852</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization
      contextRef="D220601_230228"
      decimals="128"
      id="ixv-5794"
      unitRef="USD">0</us-gaap:AdjustmentForAmortization>
    <us-gaap:IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5795"
      unitRef="USD">-301308</us-gaap:IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption>
    <us-gaap:IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5796"
      unitRef="USD">-128437</us-gaap:IncreaseDecreaseInFairValueAdjustmentsOnAssetsAndLiabilitiesCarriedAtFairValueUnderFairValueOption>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5797"
      unitRef="USD">-666879</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5798"
      unitRef="USD">4096679</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5799"
      unitRef="USD">1094260</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5800"
      unitRef="USD">-414140</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInUnbilledReceivables
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5801"
      unitRef="USD">409837</us-gaap:IncreaseDecreaseInUnbilledReceivables>
    <us-gaap:IncreaseDecreaseInUnbilledReceivables
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5802"
      unitRef="USD">437513</us-gaap:IncreaseDecreaseInUnbilledReceivables>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5803"
      unitRef="USD">-203809</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5804"
      unitRef="USD">113378</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5805"
      unitRef="USD">-761816</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5806"
      unitRef="USD">40323</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5807"
      unitRef="USD">-38331</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5808"
      unitRef="USD">-134605</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5809"
      unitRef="USD">-32184</us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings>
    <us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5810"
      unitRef="USD">315233</us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5811"
      unitRef="USD">27343</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="D220601_230228"
      decimals="128"
      id="ixv-5812"
      unitRef="USD">0</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5813"
      unitRef="USD">6677644</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5814"
      unitRef="USD">1340648</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5815"
      unitRef="USD">755339</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5816"
      unitRef="USD">2382514</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5817"
      unitRef="USD">300000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="D220601_230228"
      decimals="128"
      id="ixv-5818"
      unitRef="USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireOtherInvestments
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5819"
      unitRef="USD">7553133</us-gaap:PaymentsToAcquireOtherInvestments>
    <us-gaap:PaymentsToAcquireOtherInvestments
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5820"
      unitRef="USD">18179193</us-gaap:PaymentsToAcquireOtherInvestments>
    <us-gaap:ProceedsFromSaleOfShortTermInvestments
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5821"
      unitRef="USD">10500000</us-gaap:ProceedsFromSaleOfShortTermInvestments>
    <us-gaap:ProceedsFromSaleOfShortTermInvestments
      contextRef="D220601_230228"
      decimals="128"
      id="ixv-5822"
      unitRef="USD">0</us-gaap:ProceedsFromSaleOfShortTermInvestments>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5823"
      unitRef="USD">3588</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5824"
      unitRef="USD">3624</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5825"
      unitRef="USD">1887940</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5826"
      unitRef="USD">-20565331</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5827"
      unitRef="USD">443513</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5828"
      unitRef="USD">91492</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfOtherEquity
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5829"
      unitRef="USD">9527866</us-gaap:PaymentsForRepurchaseOfOtherEquity>
    <us-gaap:PaymentsForRepurchaseOfOtherEquity
      contextRef="D220601_230228"
      decimals="128"
      id="ixv-5830"
      unitRef="USD">0</us-gaap:PaymentsForRepurchaseOfOtherEquity>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5831"
      unitRef="USD">-9084353</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5832"
      unitRef="USD">91492</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="D230601_240229"
      decimals="INF"
      id="ixv-5833"
      unitRef="USD">-518769</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="D220601_230228"
      decimals="INF"
      id="ixv-5834"
      unitRef="USD">-19133191</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="I230531"
      decimals="INF"
      id="ixv-5835"
      unitRef="USD">3575219</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="I220531"
      decimals="INF"
      id="ixv-5836"
      unitRef="USD">22517038</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="I240229"
      decimals="INF"
      id="ixv-5837"
      unitRef="USD">3056450</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="I230228"
      decimals="INF"
      id="ixv-5838"
      unitRef="USD">3383847</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <srt:CondensedFinancialStatementsTextBlock contextRef="D230601_240229" id="ixv-2540">&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&lt;span style="color:#000000"&gt;&lt;b&gt;Notes to Condensed Consolidated Financial Statements&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;1.&lt;/kbd&gt;The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America for interim financial information and with the instructions to Form 10-Q. Accordingly, they do not include all the information and footnotes required by accounting principles generally accepted in the United States of America for complete financial statements. In the opinion of the Company, the accompanying unaudited condensed consolidated financial statements contain all adjustments (consisting of only normal recurring accruals) necessary to present fairly the financial position as of February 29, 2024 and May 31, 2023, the results of operations for the three and nine months ended February 29, 2024 and February 28, 2023, and cash flows for the nine months ended February 29, 2024 and February 28, 2023. These financial statements should be read in conjunction with the audited financial statements and notes thereto contained in the Company's Annual Report to Shareholders for the year ended May 31, 2023. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;2.&lt;/kbd&gt;The Company has evaluated events and transactions for potential recognition or disclosure in the financial statements through the date the financial statements were issued.&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;3.&lt;/kbd&gt;There is no provision nor shall there be any provisions for profit sharing, dividends, or any other benefits of any nature at any time for this fiscal year.&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;4.&lt;/kbd&gt;For the nine-month periods ended February 29, 2024 and February 28, 2023, the net income was divided by 3,411,703 and 3,502,982 respectively, which is net of the Treasury shares, to calculate the net income per share. &#160;For the three-month periods ended February 29, 2024 and February 28, 2023, net income was divided by 3,302,497 and 3,505,849 respectively, which is net of the Treasury shares, to calculate the net income per share.&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;5.&lt;/kbd&gt;The results of operations for the three and nine-month periods ended February 29, 2024 are not necessarily indicative of the results to be expected for the full year.&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;6.&lt;/kbd&gt;Recently issued Financial Accounting Standards Board (FASB) Accounting Standards Codification (ASC) guidance has either been implemented or is not significant to the Company.&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;7.&lt;/kbd&gt;Short-term Investments:&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;At times, the Company invests excess funds in liquid interest earning instruments. Short-term investments at February 29, 2024 and May 31, 2023 include &#x201c;available for sale&#x201d; money market funds, US treasury securities and corporate bonds stated at fair value, which approximates cost. The short-term investments (24) mature on various dates during the period March 2024 to December 2026. Unrealized holding gains and losses would be presented as a separate component of accumulated other comprehensive income, net of deferred income taxes. Realized gains and losses on the sale of investments are determined using the specific identification method.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;The short-term investments are valued using pricing models maximizing the use of observable inputs for similar securities. This includes basing value on yields currently available on comparable securities of issuers with similar credit ratings.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;8.&lt;/kbd&gt;Inventory:&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:189.05pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;February 29, 2024&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;May 31, 2023&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Raw materials&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;795,623&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;673,453&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Work-in-process&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:89.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;5,658,693&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;5,005,416&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished goods&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;274,456&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;330,435&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;6,728,772&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;6,009,304&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Less allowance for obsolescence&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-bottom:1pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;51,000&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-bottom:1pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-bottom:1pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;68,000&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;6,677,772&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;5,941,304&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:36pt;color:#000000;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;9.&lt;/kbd&gt;Revenue Recognition:&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify"&gt;Revenue is recognized (generally at fixed prices) when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract&#x2019;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify"&gt;For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year) using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred costs represent work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Adjustments to cost estimates are made periodically, and losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the nine months ended February 29, 2024, 58% of revenue was recorded for contracts in which revenue was recognized over time while 42% was recognized at a point in time. In the nine months ended February 28, 2023, 62% of revenue was recorded for contracts in which revenue was recognized over time while 38% was recognized at a point in time. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify"&gt;Progress payments are typically negotiated for longer term projects. Payments are otherwise due once performance obligations are complete (generally at shipment and transfer of title). For financial statement presentation purposes, the Company nets progress billings against the total costs incurred and estimated earnings recognized on uncompleted contracts. The asset, &#x201c;costs and estimated earnings in excess of billings,&#x201d; represents revenues recognized in excess of amounts billed. The liability, &#x201c;billings in excess of costs and estimated earnings,&#x201d; represents billings in excess of revenues recognized.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;margin-left:22.5pt;text-align:justify"&gt;If applicable, the Company recognizes an asset for the incremental, material costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year and the costs are expected to be recovered. As of February 29, 2024 and May 31, 2023, the Company does not have material incremental costs on any open contracts with an original expected duration of greater than one year, and therefore such costs are expensed as incurred. These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;color:#000000;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;10.&lt;/kbd&gt;The February 28, 2023 statements of income have been reclassified to conform with the presentation adopted for February 29, 2024.&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-22.5pt;margin-left:22.5pt;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;margin-left:22.5pt;text-align:justify"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:-22.5pt"&gt;11.&lt;/kbd&gt;Accrued Expenses: &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:189.05pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt; February 29, 2024&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;May 31, 2023&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Customer deposits&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;363,641&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;367,902&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Personnel costs&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:89.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;2,919,543&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;3,023,501&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;756,807&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;686,919&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;4,039,991&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;4,078,322&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</srt:CondensedFinancialStatementsTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="D230601_240229" id="ixv-2572">&lt;p style="font:10pt Times New Roman;margin:0;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:189.05pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;February 29, 2024&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;May 31, 2023&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Raw materials&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;795,623&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;673,453&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Work-in-process&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:89.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;5,658,693&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;5,005,416&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished goods&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;274,456&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;330,435&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;6,728,772&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;6,009,304&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Less allowance for obsolescence&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-bottom:1pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;51,000&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-bottom:1pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-bottom:1pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;68,000&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;6,677,772&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;5,941,304&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="I240229"
      decimals="INF"
      id="ixv-5839"
      unitRef="USD">795623</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="I230531"
      decimals="INF"
      id="ixv-5840"
      unitRef="USD">673453</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="I240229"
      decimals="INF"
      id="ixv-5841"
      unitRef="USD">5658693</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="I230531"
      decimals="INF"
      id="ixv-5842"
      unitRef="USD">5005416</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="I240229"
      decimals="INF"
      id="ixv-5843"
      unitRef="USD">274456</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="I230531"
      decimals="INF"
      id="ixv-5844"
      unitRef="USD">330435</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross
      contextRef="I240229"
      decimals="INF"
      id="ixv-5845"
      unitRef="USD">6728772</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="I230531"
      decimals="INF"
      id="ixv-5846"
      unitRef="USD">6009304</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="I240229"
      decimals="INF"
      id="ixv-5847"
      unitRef="USD">51000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="I230531"
      decimals="INF"
      id="ixv-5848"
      unitRef="USD">68000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="I240229"
      decimals="INF"
      id="ixv-5849"
      unitRef="USD">6677772</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="I230531"
      decimals="INF"
      id="ixv-5850"
      unitRef="USD">5941304</us-gaap:InventoryNet>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="D230601_240229" id="ixv-2671">&lt;p style="font:10pt Times New Roman;margin:0;text-align:justify"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:189.05pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt; February 29, 2024&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-bottom:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;May 31, 2023&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Customer deposits&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;363,641&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-top:0.75pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;367,902&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Personnel costs&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:89.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;2,919,543&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;3,023,501&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#EBEBEB;width:189.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:89.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;756,807&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:4.15pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#EBEBEB;width:77pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;686,919&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:189.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;/td&gt;&lt;td style="width:89.8pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:83pt"&gt;4,039,991&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4.15pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000080"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:77pt;border-top:1pt solid #000000;border-bottom:2.25pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:70pt"&gt;4,078,322&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:CustomerDepositsCurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5851"
      unitRef="USD">363641</us-gaap:CustomerDepositsCurrent>
    <us-gaap:CustomerDepositsCurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5852"
      unitRef="USD">367902</us-gaap:CustomerDepositsCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="I240229"
      decimals="INF"
      id="ixv-5853"
      unitRef="USD">2919543</us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="I230531"
      decimals="INF"
      id="ixv-5854"
      unitRef="USD">3023501</us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="I240229"
      decimals="INF"
      id="ixv-5855"
      unitRef="USD">756807</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="I230531"
      decimals="INF"
      id="ixv-5856"
      unitRef="USD">686919</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="I240229"
      decimals="INF"
      id="ixv-5857"
      unitRef="USD">4039991</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="I230531"
      decimals="INF"
      id="ixv-5858"
      unitRef="USD">4078322</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
