<SEC-DOCUMENT>0000096536-23-000002.txt : 20230106
<SEC-HEADER>0000096536-23-000002.hdr.sgml : 20230106
<ACCEPTANCE-DATETIME>20230106105539
ACCESSION NUMBER:		0000096536-23-000002
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		28
CONFORMED PERIOD OF REPORT:	20221130
FILED AS OF DATE:		20230106
DATE AS OF CHANGE:		20230106

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TAYLOR DEVICES INC
		CENTRAL INDEX KEY:			0000096536
		STANDARD INDUSTRIAL CLASSIFICATION:	GENERAL INDUSTRIAL MACHINERY & EQUIPMENT, NEC [3569]
		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:		23514097

	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>tdi10qfy23q2.htm
<DESCRIPTION>TAYD 10-Q FY 2023 Q2
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:us-gaap-supplement="http://fasb.org/us-gaap-sup/2022q3" xmlns:srt-supplement="http://fasb.org/srt-sup/2022q3" xmlns:us-roles="http://fasb.org/us-roles/2022" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns:tayd="http://taylordevices.com/20221130">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02B_US%2DGAAP%2D2022 -->
<!-- Field: Set; Name: xdx; ID: xdx_039_tayd_taylordevices.com_20221130 -->
<!-- Field: Set; Name: xdx; ID: xdx_04E_20220901_20221130 -->
<!-- Field: Set; Name: xdx; ID: xdx_05C_edei%2D%2DEntityCentralIndexKey_0000096536 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_058_edei%2D%2DDocumentFiscalPeriodFocus_Q2 -->
<!-- Field: Set; Name: xdx; ID: xdx_053_edei%2D%2DDocumentFiscalYearFocus_2023 -->
<!-- Field: Set; Name: xdx; ID: xdx_05A_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0wNS0zMQ== -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityCentralIndexKey">0000096536</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:DocumentFiscalPeriodFocus">Q2</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:DocumentFiscalYearFocus">2023</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:CurrentFiscalYearEndDate">--05-31</ix:nonNumeric>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="tayd-20221130.xsd" xlink:type="simple" />
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2022-09-01to2022-11-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-09-01</xbrli:startDate>
        <xbrli:endDate>2022-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-11-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-05-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-09-012021-11-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-09-01</xbrli:startDate>
        <xbrli:endDate>2021-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-11-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-06-01</xbrli:startDate>
        <xbrli:endDate>2022-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-06-012021-11-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-06-01</xbrli:startDate>
        <xbrli:endDate>2021-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-08-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-08-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-05-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-05-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-08-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-08-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-05-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-05-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-08-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-08-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-05-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-05-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-09-012022-11-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-09-01</xbrli:startDate>
        <xbrli:endDate>2022-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-09-012021-11-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-09-01</xbrli:startDate>
        <xbrli:endDate>2021-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-11-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-06-01</xbrli:startDate>
        <xbrli:endDate>2022-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-06-012021-11-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-06-01</xbrli:startDate>
        <xbrli:endDate>2021-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-09-012022-11-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-09-01</xbrli:startDate>
        <xbrli:endDate>2022-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-09-012021-11-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-09-01</xbrli:startDate>
        <xbrli:endDate>2021-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-11-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-06-01</xbrli:startDate>
        <xbrli:endDate>2022-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-06-012021-11-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-06-01</xbrli:startDate>
        <xbrli:endDate>2021-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-09-012022-11-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-09-01</xbrli:startDate>
        <xbrli:endDate>2022-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-09-012021-11-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-09-01</xbrli:startDate>
        <xbrli:endDate>2021-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-11-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-06-01</xbrli:startDate>
        <xbrli:endDate>2022-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-06-012021-11-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-06-01</xbrli:startDate>
        <xbrli:endDate>2021-11-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-11-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-11-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-11-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-11-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-11-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-11-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-05-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


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

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

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

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>FORM <span id="xdx_900_edei--DocumentType_c20220901__20221130_zCMrL8Q0Mvx7"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:DocumentType">10-Q</ix:nonNumeric></span></b></p>

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

<table cellspacing="0" cellpadding="0" style="width: 100%">
  <tr>
    <td style="font: 12pt Times New Roman, Times, Serif; width: 3%">&#160;</td>
    <td style="font: 12pt Times New Roman, Times, Serif; width: 97%">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font: 12pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: MS Gothic, Helvetica, Sans-Serif"><span id="xdx_904_edei--DocumentQuarterlyReport_c20220901__20221130_zNbmgOEG6hSi"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt:booleantrue" name="dei:DocumentQuarterlyReport">&#9746;</ix:nonNumeric></span></span></td>
    <td style="font: bold 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE&#160;&#160;&#160;&#160;ACT OF 1934</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 6pt 0 0; text-align: justify">For the quarterly period ended <span id="xdx_902_edei--DocumentPeriodEndDate_c20220901__20221130_zfa6sOTsy71g"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate">November 30,
2022</ix:nonNumeric></span></p>

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

<table cellspacing="0" cellpadding="0" style="width: 100%; font-family: Times New Roman, Times, Serif">
  <tr>
    <td style="width: 3%; font-size: 12pt">&#160;</td>
    <td style="width: 97%; font-size: 12pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="font-size: 12pt; text-align: center"><span style="font-family: MS Gothic, Helvetica, Sans-Serif"><span id="xdx_901_edei--DocumentTransitionReport_c20220901__20221130_zEFFHUx6kU87"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt:booleanfalse" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span></td>
    <td style="font-size: 10pt; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE&#160;&#160;&#160;&#160;&#160;&#160;ACT OF 1934</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 6pt 0 0">For the transition period from <span style="text-decoration: underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span>
to <span style="text-decoration: underline">&#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, Times, Serif; margin: 6pt 0 0">Commission File Number <span style="text-decoration: underline"><span id="xdx_902_edei--EntityFileNumber_c20220901__20221130_zJVKLDf91JS1"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityFileNumber">0-3498</ix:nonNumeric></span></span></p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 6pt 0 0; text-align: center"><b><span id="xdx_90C_edei--EntityRegistrantName_c20220901__20221130_z3vZQjsEuz5c"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityRegistrantName">TAYLOR DEVICES INC</ix:nonNumeric></span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">(Exact name of registrant as specified in its charter)</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="width: 57%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 42%">&#160;</td></tr>
  <tr>
    <td style="vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--EntityIncorporationStateCountryCode_c20220901__20221130_z6ifRVZ2GrW3"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode">New York</ix:nonNumeric></span> </span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90C_edei--EntityTaxIdentificationNumber_c20220901__20221130_ziJjnHR8IfL"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityTaxIdentificationNumber">16-0797789</ix:nonNumeric></span></span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="border-top: black 1pt solid">&#160;</td></tr>
  <tr>
    <td style="vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State or other jurisdiction of incorporation or organization) </span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(I.R.S. Employer Identification No.)</span></td></tr>
  <tr>
    <td style="vertical-align: top; text-align: center">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: center">&#160;</td></tr>
  <tr>
    <td style="vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90A_edei--EntityAddressAddressLine1_c20220901__20221130_zpiLH18Jh6ec"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityAddressAddressLine1">90 Taylor Drive</ix:nonNumeric></span>, <span id="xdx_90A_edei--EntityAddressCityOrTown_c20220901__20221130_zbys6ZhTlvhl"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityAddressCityOrTown">North Tonawanda</ix:nonNumeric></span>, <span id="xdx_906_edei--EntityAddressStateOrProvince_c20220901__20221130_zK4kr6ezZKx1"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince">New York</ix:nonNumeric></span> </span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90A_edei--EntityAddressPostalZipCode_c20220901__20221130_zsvIcgv0VDf6"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityAddressPostalZipCode">14120</ix:nonNumeric></span></span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="border-top: black 1pt solid">&#160;</td></tr>
  <tr>
    <td style="vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address of principal executive offices) </span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Zip Code)</span></td></tr>
  </table>
<p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span id="xdx_90F_edei--CityAreaCode_c20220901__20221130_zGlqvR8O1pt3"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:CityAreaCode">716</ix:nonNumeric></span>-<span id="xdx_903_edei--LocalPhoneNumber_c20220901__20221130_zK4IDHx9svpg"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:LocalPhoneNumber">694-0800</ix:nonNumeric></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">(Registrant&#8217;s telephone number, including area
code)</p>

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border-top: Black 1pt solid; width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Former name, former address and former fiscal year, if changed since last report)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 33%; padding-right: 5.4pt; padding-left: 5.4pt">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span style="text-decoration: none">&#160;</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span style="text-decoration: underline">Title of each class</span></p></td>
    <td style="width: 23%; padding-right: 5.4pt; padding-left: 5.4pt">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span style="text-decoration: underline">Trading Symbol</span></p></td>
    <td style="width: 44%; padding-right: 5.4pt; padding-left: 5.4pt">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><span style="font-weight: normal"><span style="text-decoration: underline">Name of each exchange on which registered</span></span></p></td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; 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.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 5.5in"><span style="font-family: Times New Roman, Times, Serif"><span id="xdx_903_edei--EntityCurrentReportingStatus_c20220901__20221130_za8GWH6GhlSd"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span>
</span><span style="font-family: MS Gothic, Helvetica, Sans-Serif">&#9746;</span> <span style="font-family: Times New Roman, Times, Serif">No
</span><span style="font-family: MS Gothic, Helvetica, Sans-Serif">&#9744;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><span style="font-family: Times New Roman, Times, Serif">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).&#9;&#9;&#9;&#9;<span id="xdx_90D_edei--EntityInteractiveDataCurrent_c20220901__20221130_zRfc9VsNSCY1"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span> </span><span style="font-family: MS Gothic, Helvetica, Sans-Serif">&#9746;</span>
<span style="font-family: Times New Roman, Times, Serif">No </span><span style="font-family: MS Gothic, Helvetica, Sans-Serif">&#9744;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; 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. See the definitions of &#34;large
accelerated filer,&#34; &#34;accelerated filer,&#34; &#34;smaller reporting company&#34; and &#34;emerging growth company&#34;
in Rule 12b-2 of the Exchange Act.</p>

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 66%; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large accelerated filer </span><span style="font-family: MS Gothic, Helvetica, Sans-Serif; font-size: 10pt">&#9744;</span></td>
    <td style="width: 34%; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated filer </span><span style="font-family: MS Gothic, Helvetica, Sans-Serif; font-size: 10pt">&#9744;</span></td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_edei--EntityFilerCategory_c20220901__20221130_zbtplyc7VKK3"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory">Non-accelerated Filer</ix:nonNumeric></span> </span><span style="font-family: MS Gothic, Helvetica, Sans-Serif; font-size: 10pt">&#9746;</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller reporting company </span><span style="font-family: MS Gothic, Helvetica, Sans-Serif; font-size: 10pt"><span id="xdx_90F_edei--EntitySmallBusiness_c20220901__20221130_zfuol1f0J8t4"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt:booleantrue" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging growth company </span><span style="font-family: MS Gothic, Helvetica, Sans-Serif; font-size: 10pt"><span id="xdx_904_edei--EntityEmergingGrowthCompany_c20220901__20221130_z90tXSTBfuUc"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt:booleanfalse" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

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

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

<!-- Field: Page; Sequence: 1 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></div>
    <!-- Field: /Page -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; 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, Times, Serif; margin: 0 0 0 5in; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif">Yes
</span><span style="font-family: MS Gothic, Helvetica, Sans-Serif">&#9744;</span> <span style="font-family: Times New Roman, Times, Serif"><span id="xdx_90B_edei--EntityShellCompany_c20220901__20221130_z7GxSSE86Mr9"><ix:nonNumeric contextRef="From2022-09-01to2022-11-30" format="ixt:booleanfalse" name="dei:EntityShellCompany">No</ix:nonNumeric></span>
</span><span style="font-family: MS Gothic, Helvetica, Sans-Serif">&#9746;</span></p>

<p style="font: 10pt Wingdings; margin: 0 0 0 5in; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 29</span>, 2022, there were outstanding <span id="xdx_904_edei--EntityCommonStockSharesOutstanding_iI_c20221229_zNeQiyihzWF6"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2022-12-29" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,502,546</ix:nonFraction></span> shares of the registrant&#8217;s common stock, par value $.025 per share.</p>


<!-- Field: Page; Sequence: 2; Options: NewSection; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><span id="TableOfContents"></span><b>Index to Form 10-Q</b></p>

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">PART I </span></td>
    <td colspan="2" style="border-top: white 1pt solid; border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">FINANCIAL INFORMATION</span></td>
    <td colspan="2" style="border-top: white 1pt solid; border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">PAGE NO.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial Statements</span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#BalanceSheet">Condensed Consolidated Balance Sheets as of November 30, 2022 and May 31, 2022</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#IncomeStatement">Condensed Consolidated Statements of Income for the three and six months ended November 30, 2022 and 2021</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#StockholdersEquity">Condensed Consolidated Statements of Stockholders&#8217; Equity for the three and six months ended November 30, 2022 and 2021</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#CashFlow">Condensed Consolidated Statements of Cash Flows for the six months ended November 30, 2022 and 2021</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">7</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#NotesToFinancialStatements">Notes to Condensed Consolidated Financial Statements</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">8</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 2.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><a href="#MDA">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; width: 8%; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; width: 10%; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 3.</span></td>
    <td style="border-right: white 1pt solid; width: 64%; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#QualitativeDisclosures">Quantitative and Qualitative Disclosures About Market Risk</a></span></td>
    <td style="border-right: white 1pt solid; width: 9%; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; width: 9%; border-bottom: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">17</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 4.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#ControlsAndProcedures">Controls and Procedures</a></span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">17</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#PartII">PART II</a> </span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">OTHER INFORMATION</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#LegalProceedings">Legal Proceedings</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1A.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#RiskFactors">Risk Factors</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 2.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#UseOfProceeds">Unregistered Sales of Equity Securities and Use of Proceeds</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 3.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Defaults Upon Senior Securities</span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 4.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Mine Safety Disclosures</span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 5.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#MoreInformation">Other Information</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 6.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#Exhibits">Exhibits</a> </span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">20</span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><a href="#Signatures">SIGNATURES</a></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 3; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellpadding="0" cellspacing="0" id="xdx_303_111_z9onUdoZVCt4" summary="xdx: Statement - Condensed Consolidated Balance Sheets" style="font: 12pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 10pt">TAYLOR DEVICES, INC. AND SUBSIDIARY</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_497_20221130_zPD46RkTnti5">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_49C_20220531_zlyN2KRldcT9">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 10pt; color: navy; font-weight: bold"><span id="BalanceSheet"></span>Condensed Consolidated Balance Sheets</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td colspan="3" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center">(Unaudited)</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td colspan="3" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center">November 30,</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="3" style="font-size: 10pt; text-align: center">May 31,</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: center">2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2022</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AssetsAbstract_iB_zxD3KbxEB0r5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; padding-left: 5.4pt">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsCurrentAbstract_i01B_zKN3GKvRZfM1" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">Current assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CashAndCashEquivalentsAtCarryingValue_i02I_maCzhF7_zyG0jf89cKx" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; font-size: 10pt; text-align: left; padding-left: 17.25pt">Cash and cash equivalents</td><td style="width: 8%; font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,013,144</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,517,038</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ShortTermInvestments_i02I_maCzhF7_zKNM5S3vbWG4" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Short-term investments</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,097,450</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,097,450</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndOtherReceivablesNetCurrent_i02I_maCzhF7_zoOhNZQiiOO2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Accounts and other receivables, net</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AccountsAndOtherReceivablesNetCurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,940,731</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AccountsAndOtherReceivablesNetCurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,466,686</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--InventoryPartsAndComponentsNetOfReserves_i02I_maCzhF7_zdNfJ82BvlXe" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 17.25pt">Inventory</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:InventoryPartsAndComponentsNetOfReserves" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,596,046</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:InventoryPartsAndComponentsNetOfReserves" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,854,935</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_i02I_maCzhF7_zPkwoYDsQNX7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Costs and estimated earnings in excess of billings</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,295,376</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,336,474</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OtherAssetsCurrent_i02I_maCzhF7_zeypQTqGokI3" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 17.25pt">Other current assets</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">890,506</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">704,436</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AssetsCurrent_i01TI_mtCzhF7_maCziej_zKaZWJEKkKH3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 35.25pt">Total current assets</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,833,253</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,977,019</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherInventoryNoncurrent_i01I_maCziej_zqk4eOvqsmO7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">Maintenance and other inventory, net</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherInventoryNoncurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">972,282</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OtherInventoryNoncurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,107,309</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maCziej_zT8buVHInLw5" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">Property and equipment, net</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,610,010</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,854,759</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherAssetsMiscellaneousNoncurrent_i01I_maCziej_zVx2ATRPkC86" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">Other assets</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsMiscellaneousNoncurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">207,879</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsMiscellaneousNoncurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">205,359</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredIncomeTaxAssetsNet_i01I_maCziej_zLTAbAWy9Fv5" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 5.4pt">Deferred income taxes</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,615</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,615</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--Assets_i01TI_mtCziej_zAsmfI63uNX3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 35.25pt"><b style="display: none">Total assets</b></td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,698,039</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,219,061</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB_zeXzjld72yE1" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">Liabilities and Stockholders' Equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesCurrentAbstract_i01B_zXEma2aPsx96" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">Current liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccountsPayableCurrent_i02I_maCzU0g_z6IfuaV5Bfw1" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Accounts payable</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,537,181</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,426,830</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--BillingsInExcessOfCostCurrent_i02I_maCzU0g_zvrw43rLrqDi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Billings in excess of costs and estimated earnings</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:BillingsInExcessOfCostCurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,089,884</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:BillingsInExcessOfCostCurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,122,763</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--OtherLiabilitiesCurrent_i02I_maCzU0g_zQjqPws4pqd2" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 17.25pt">Other current liabilities</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,087,615</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,414,314</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LiabilitiesCurrent_i01TI_mtCzU0g_maCzH7E_zJA53czYanO" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 35.25pt">Total current liabilities</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,714,680</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,963,907</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--StockholdersEquityAbstract_i01B_zAHHOspkX4fe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">Stockholders' Equity:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AdditionalPaidInCapitalCommonStock_i02I_maCzCNg_zpZYMnjDX8Vf" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Common stock and additional paid-in capital</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,495,584</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,329,258</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maCzCNg_ztOwZTZYHtn8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 17.25pt">Retained earnings</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,402,777</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,840,898</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--StockholdersEquityBeforeTreasuryStock_i02TI_mtCzCNg_maCzsKt_zYETSrVaHRz1" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt"><b style="display: none">Stockholders&#8217; equity before treasury stock</b></td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityBeforeTreasuryStock" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">48,898,361</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityBeforeTreasuryStock" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">46,170,156</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--TreasuryStockValue_i02NI_di_msCzsKt_zHPhawHHKVTb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 17.25pt">Treasury stock - at cost</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,915,002</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,915,002</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--StockholdersEquity_i02TI_mtCzsKt_maCzH7E_zT0djUB3Irub" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-bottom: 1pt; padding-left: 35.25pt">Total stockholders&#8217; equity</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,983,359</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,255,154</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesAndStockholdersEquity_i02TI_mtCzH7E_zOvHTnDSvFbi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 35.25pt"><b style="display: none">Total liabilities and stockholders&#8217;
    equity</b></td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,698,039</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,219,061</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; font-style: italic; text-align: left; padding-left: 5.4pt">See notes to condensed consolidated financial statements.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  </table>


<!-- Field: Page; Sequence: 4; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellpadding="0" cellspacing="0" id="xdx_30C_113_zDfJ7wd0WTy9" summary="xdx: Statement - Condensed Consolidated Statements of Income" style="font: 12pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><br /></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TAYLOR DEVICES, INC. AND SUBSIDIARY</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_491_20220901__20221130_z4r0ZbAuKRCb">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_49D_20210901__20211130_zLBcvO4nVzee">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_492_20220601__20221130_zCbdYcWF6Qbe">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_49B_20210601__20211130_zvBcWa4RTdV">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 10pt; color: navy; font-weight: bold"><span id="IncomeStatement"></span>Condensed Consolidated Statements of Income</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td colspan="7" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center">(Unaudited)</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td colspan="7" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center">(Unaudited)</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="7" style="font-size: 10pt; text-align: center">For the three months ended November 30,</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="7" style="font-size: 10pt; text-align: center">For the six months ended November 30,</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: center">2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2021</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: center">2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2021</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Revenues_maCzgIX_ztPePJVclXI9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; font-size: 10pt; text-align: left">Sales, net</td><td style="width: 3%; font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 10%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,497,366</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,757,986</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 10%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,588,065</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,065,723</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CostOfGoodsAndServicesSold_msCzgIX_zk9ajW8CTUDa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Cost of goods sold</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,403,541</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,167,463</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,109,483</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,603,021</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--GrossProfit_iT_mtCzgIX_maCzPAo_zzZzgydmn2W1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;&#160;&#160;&#160;&#160;Gross profit</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,093,825</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,590,523</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,478,582</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,462,702</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--ResearchAndDevelopmentExpense_msCzPAo_zOmy7BipRdcl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Research and development costs</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">315,301</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">201,277</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">690,647</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">483,217</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--SellingGeneralAndAdministrativeExpense_msCzPAo_zlOforOzjrWd" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Selling, general and administrative expenses</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,022,061</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,608,860</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,853,099</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,080,959</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OperatingIncomeLoss_iT_mtCzPAo_maCzvVk_zCvgniujcFj6" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;&#160;&#160;&#160;&#160;Operating income</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,756,463</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">780,386</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,934,836</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">898,526</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OtherNonoperatingIncomeExpense_maCzvVk_z17yhzHzLJt" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Other income, net</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">153,045</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,418</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">193,043</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">71,155</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtCzvVk_maCzYei_zfoBlzxcYDk9" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">&#160;&#160;&#160;&#160;&#160;Income before provision for income taxes</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,909,508</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">787,804</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,127,879</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">969,681</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeTaxExpenseBenefit_msCzYei_zfHHbqTqMEKc" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Provision for income taxes</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">350,000</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">128,000</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">566,000</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">128,000</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NetIncomeLoss_iT_mtCzYei_zxpkGMiHTUUk" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-bottom: 1pt">&#160;&#160;&#160;&#160;&#160;Net income</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,559,508</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">659,804</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,561,879</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">841,681</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EarningsPerShareBasic_zWxdgDSfWDO" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Basic and diluted earnings per common share</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.45</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.19</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.73</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.24</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><i>&#160;</i></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><i>See notes to condensed consolidated financial statements.</i></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

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

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

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


<!-- Field: Page; Sequence: 5; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellpadding="0" cellspacing="0" id="xdx_308_114_zUccTQY73MYe" summary="xdx: Statement - Condensed Consolidated Statements of Stockholders Equity" style="font: 12pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 10pt">TAYLOR DEVICES, INC. AND SUBSIDIARY</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="5" style="font-size: 10pt; color: navy; font-weight: bold"><span id="StockholdersEquity"></span>Condensed Consolidated Statements of Stockholders&#8217; Equity</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td colspan="7" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center">(Unaudited)</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td colspan="7" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center">(Unaudited)</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="7" style="font-size: 10pt; text-align: center">For the three months ended November 30,</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="7" style="font-size: 10pt; text-align: center">For the six months ended November 30,</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2021</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2021</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; text-indent: -9pt; padding-left: 9pt">Common Stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 40%; font-size: 10pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Beginning of period</td><td style="width: 3%; font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td id="xdx_98F_eus-gaap--StockholdersEquity_iS_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zS9WAFnleBIa" style="width: 10%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-08-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,451</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_983_eus-gaap--StockholdersEquity_iS_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zV2FO3P28eSg" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-08-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,313</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td id="xdx_98A_eus-gaap--StockholdersEquity_iS_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zIRH2vGtx7sb" style="width: 10%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,342</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_98F_eus-gaap--StockholdersEquity_iS_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_ztbTDCbBeq69" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-05-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,305</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Issuance of shares for employee stock purchase plan</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z6NuHhMblCTh" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2022-09-012022-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zqRODWCy2t76" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2021-09-012021-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zqKSPgv1pM9e" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2022-06-012022-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z3b8xmxFmptf" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2021-06-012021-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Issuance of shares for employee stock option plan</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_d0_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zQaKVZO1ytw" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2022-09-012022-11-30_us-gaap_CommonStockMember" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction>&#160;&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_d0_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zBxroCiypDjh" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2021-09-012021-11-30_us-gaap_CommonStockMember" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction>&#160;&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zoKTP4HN6eFe" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2022-06-012022-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_d0_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zUXzeFt6XqD1" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2021-06-012021-11-30_us-gaap_CommonStockMember" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction>&#160;&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;End of period</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--StockholdersEquity_iE_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z1F6UlSzyzw5" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,457</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--StockholdersEquity_iE_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zVSWbZnJqUe6" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,323</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--StockholdersEquity_iE_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zoRgZOMDb5A4" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,457</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--StockholdersEquity_iE_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zW4DlpSlhcab" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,323</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; text-indent: -9pt; padding-left: 9pt">Paid-in Capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Beginning of period</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--StockholdersEquity_iS_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zsC0ctyQLQlc" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-08-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,263,098</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockholdersEquity_iS_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zadyFjsSEsd2" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-08-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,014,255</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockholdersEquity_iS_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zhS6fZ4txB7i" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,227,916</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--StockholdersEquity_iS_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zREqE51frXPf" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-05-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,010,430</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Issuance of shares for employee stock purchase plan</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zhFlY3ddsila" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2022-09-012022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,592</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zu2WW6Y08Yhf" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2021-09-012021-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,256</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zCTmGiXRV8t" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2022-06-012022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,654</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zGT8E03pzi1h" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2021-06-012021-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,081</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Issuance of shares for employee stock option plan</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_d0_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_z9xrvL4RQmD8" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2022-09-012022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction>&#160;&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_d0_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_z2MtjQiZVgo4" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2021-09-012021-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction>&#160;&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zSviBoqcubt3" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2022-06-012022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,120</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_d0_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zSOcZ5laEiE7" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2021-06-012021-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction>&#160;&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Stock options issued for services</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_d0_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zCHKoq0JMCOa" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" contextRef="From2022-09-012022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">128,437</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_d0_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zxg0b18vzXhg" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" contextRef="From2021-09-012021-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">125,764</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_d0_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zAuCVSlMgr7b" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" contextRef="From2022-06-012022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">128,437</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_d0_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zwJCRBkRLyDa" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" contextRef="From2021-06-012021-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">125,764</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;End of period</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--StockholdersEquity_iE_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zXFsamimROVk" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,394,127</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--StockholdersEquity_iE_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_ztTvzdMPXBW3" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,144,275</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--StockholdersEquity_iE_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zRkCOIZCR757" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,394,127</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--StockholdersEquity_iE_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zKvxXfoWEAg5" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,144,275</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; text-indent: -9pt; padding-left: 9pt">Retained Earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Beginning of period</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--StockholdersEquity_iS_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zfNXdzaOr5Jf" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-08-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,843,269</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockholdersEquity_iS_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zbWYtgdiUipf" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-08-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,783,352</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockholdersEquity_iS_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zyLPxj5yNGVe" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,840,898</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--StockholdersEquity_iS_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zEsn6CVZuzc3" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-05-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,601,475</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Net income</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--NetIncomeLoss_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zgCKa4hCECed" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-09-012022-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,559,508</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--NetIncomeLoss_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zHuLgcr6qjfk" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-09-012021-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">659,804</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--NetIncomeLoss_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_ztt2mJ5jKoM3" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-06-012022-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,561,879</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--NetIncomeLoss_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_ziyiumBfEF25" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-06-012021-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">841,681</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;End of period</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--StockholdersEquity_iE_c20220901__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_znHnIf4kUWvb" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,402,777</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockholdersEquity_iE_c20210901__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zh7p7CClOwi1" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,443,156</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockholdersEquity_iE_c20220601__20221130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_z5oyOHTlNBJ1" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,402,777</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--StockholdersEquity_iE_c20210601__20211130__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_z7PlDy4rSN8f" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,443,156</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; text-indent: -9pt; padding-left: 9pt">Treasury Stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;Beginning and end of period</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TreasuryStockValue_iNI_di_c20221130_zzsKLAOn91P7" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,915,002</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--TreasuryStockValue_iNI_di_c20211130_zo8opCO1qNOk" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,915,002</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TreasuryStockValue_iNI_di_c20221130_zL8vD0xPiio3" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,915,002</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--TreasuryStockValue_iNI_di_c20211130_zzlv0XOkIEJh" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,915,002</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">Total stockholders' equity</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td id="xdx_980_eus-gaap--StockholdersEquity_iI_c20221130_zHnNZqbQ1FGd" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,983,359</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td id="xdx_983_eus-gaap--StockholdersEquity_iI_c20211130_z2F8eVLq9PR5" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,773,752</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td id="xdx_980_eus-gaap--StockholdersEquity_iI_c20221130_zYEHO83LVKx9" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,983,359</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td id="xdx_98F_eus-gaap--StockholdersEquity_iI_c20211130_zAHKeZjEK3sc" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,773,752</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><i>See notes to condensed consolidated financial statements.</i></p> <p style="font: 12pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  </table>

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


<!-- Field: Page; Sequence: 6; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

<table cellpadding="0" cellspacing="0" id="xdx_30B_112_zFE1FsVDaIF6" summary="xdx: Statement - Condensed Consolidated Statements of Cash Flows" style="font: 12pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 10pt">TAYLOR DEVICES, INC. AND SUBSIDIARY</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_492_20220601__20221130_zntbjGWLIYd7">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_491_20210601__20211130_zamdMwvtzAO2">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 10pt; color: navy; font-weight: bold"><span id="CashFlow"></span>Condensed Consolidated Statements of Cash Flows</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td colspan="7" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center">(Unaudited)</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="7" style="font-size: 10pt; text-align: center">November 30,</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 10pt">For the six months ended</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: center">2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2021</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td><td>&#160;</td>
    <td colspan="3">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_iB_zXKFSk9wjTzl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">Operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NetIncomeLoss_i01_maCzjh8_zcEDzAK3VrCe" style="vertical-align: bottom; background-color: White">
    <td style="width: 56%; font-size: 10pt; text-align: left; padding-left: 5.4pt">Net income</td><td style="width: 8%; font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,561,879</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">841,681</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_z0gn3L29RRBe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">Adjustments to reconcile net income to net cash flows from operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DepreciationDepletionAndAmortization_i02_maCzjh8_zuarg4zEKznd" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 5.4pt">&#160;&#160;&#160;Depreciation</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">635,580</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">637,363</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--StockOptionPlanExpense_i01_maCzjh8_zrHM2BIWhIWk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;Stock options issued for services</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">128,437</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">125,764</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_z8grjU2nyema" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;Changes in other assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_di_msCzjh8_zjxZO43yUBQg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;Accounts and other receivables, net</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,474,045</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">189,316</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--IncreaseDecreaseInInventories_i03N_di_msCzjh8_zrMtK5QZCbc6" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;Inventory</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">393,916</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">88,563</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--IncreaseDecreaseInUnbilledReceivables_i03N_di_msCzjh8_zyYNVUynWaX9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;Costs and estimated earnings in excess of billings</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInUnbilledReceivables" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,958,902</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInUnbilledReceivables" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,385,172</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInOtherCurrentAssets_i03N_di_msCzjh8_zMoDvP1s8gXi" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;Other current assets</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">186,070</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">354,898</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInAccountsPayableTrade_i03_maCzjh8_zvhSeg3U2ab9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;Accounts payable</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">110,351</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">284,608</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--IncreaseDecreaseInBillingInExcessOfCostOfEarnings_i03_maCzjh8_z0aLmUEbbBCj" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;Billings in excess of costs and estimated earnings</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">32,879</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">645,498</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncreaseDecreaseInOtherCurrentLiabilities_i03_maCzjh8_zja7BdJspAh6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;Other current liabilities</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">326,699</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">82,114</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i03T_mtCzjh8_maCzfub_zTnMbA4bzP2l" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net operating activities</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">148,432</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,374,211</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AdditionalCashFlowElementsInvestingActivitiesAbstract_iB_zrmNl7COZ74e" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">Investing activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msCzxkf_znC4bMQ67Z62" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;Acquisition of property and equipment</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,390,831</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">560,159</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--PaymentsForProceedsFromOtherInvestingActivities_i01N_di_msCzxkf_z0IMUPyHckjd" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 5.4pt">&#160;&#160;&#160;Other investing activities</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,520</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,249</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtCzxkf_maCzfub_zoDoGxGtn74l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net investing activities</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,393,351</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">567,408</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AdditionalCashFlowElementsFinancingActivitiesAbstract_iB_zeWGGgHY3988" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left; padding-left: 5.4pt">Financing activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ProceedsFromIssuanceOfCommonStock_i01_maCzfub_z8OibZYeV9me" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 5.4pt">&#160;&#160;&#160;Proceeds from issuance of common stock, net</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,889</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,099</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_iT_mtCzfub_zdqMrXw7az5d" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net change in cash and cash equivalents</td><td style="font-size: 10pt; color: navy; font-weight: bold">&#160;</td>
    <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,503,894</ix:nonFraction></td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,933,520</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iS_zU6fNpvrKX4a" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 5.4pt">Cash and cash equivalents - beginning</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,517,038</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2021-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,581,604</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iE_zdQr1W311zfe" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 5.4pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Cash and cash equivalents - ending</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,013,144</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2021-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,648,084</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; font-style: italic; text-align: left; padding-left: 5.4pt">See notes to condensed consolidated financial statements.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  </table>


<!-- Field: Page; Sequence: 7; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

<ix:nonNumeric contextRef="From2022-09-01to2022-11-30" escape="true" name="srt:CondensedFinancialStatementsTextBlock"><p id="xdx_807_esrt--CondensedFinancialStatementsTextBlock_zRcf7l6fBDc5" style="font: bold 10pt Times New Roman, Times, Serif; color: navy; margin: 0"><b><span id="NotesToFinancialStatements"></span>Notes to Condensed Consolidated Financial Statements</b></p>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</span></td><td style="text-align: justify"><span style="font-size: 10pt">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 of 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 November 30, 2022 and May 31, 2022, the results of operations for the three and six months
ended November 30, 2022 and 2021, and cash flows for the six months ended November 30, 2022 and 2021. 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, 2022. </span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</span></td><td style="text-align: justify"><span style="font-size: 10pt">The Company has evaluated events and transactions for potential recognition
or disclosure in the financial statements through the date the financial statements were issued.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</span></td><td style="text-align: justify"><span style="font-size: 10pt">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.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</span></td><td style="text-align: justify"><span style="font-size: 10pt">For the six-month periods ended November 30, 2022 and 2021, the net income
was divided by <span id="xdx_90F_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20220601__20221130_z7D0hHon7Kq9"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-06-012022-11-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,500,172</ix:nonFraction></span> and <span id="xdx_907_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20210601__20211130_zL10yBLQgbvg"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2021-06-012021-11-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,496,697</ix:nonFraction></span> respectively, which is net of the Treasury shares, to calculate the net income per share. For the
three-month periods ended November 30, 2022 and 2021, the net income was divided by <span id="xdx_909_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20220901__20221130_z6SKMFqTU3gb"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-09-01to2022-11-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,499,598</ix:nonFraction></span> and <span id="xdx_906_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20210901__20211130_zv1gW9B9CuP9"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2021-09-012021-11-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,496,610</ix:nonFraction></span> respectively, which is net
of the Treasury shares, to calculate the net income per share.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</span></td><td style="text-align: justify"><span style="font-size: 10pt">The results of operations for the three and six-month periods ended November
30, 2022 are not necessarily indicative of the results to be expected for the full year.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Recently issued Financial Accounting Standards Board (FASB) Accounting Standards
Codification (ASC) guidance has either been implemented or is not significant to the Company.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Inventory: </span></td></tr></table>

<ix:nonNumeric contextRef="From2022-09-01to2022-11-30" escape="true" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_882_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zdkTyuKNh0o9" summary="xdx: Disclosure - Inventory (Details)" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_493_20221130_zsvv31b5Bbnl" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_491_20220531_zt8RmkVZO0Wi" style="font-size: 12pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryRawMaterials_iI_maIGzbjn_zopkLze2skv4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Raw materials</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">575,415</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">488,393</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--InventoryWorkInProcess_iI_maIGzbjn_zCNUADptenZg" style="vertical-align: bottom; background-color: White">
    <td>Work-in-process</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,900,432</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,166,271</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InventoryFinishedGoods_iI_maIGzbjn_zgexSVfrO3Fj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Finished goods</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">220,199</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">300,271</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--InventoryGross_iTI_mtIGzbjn_maINz7oH_zWBmZOMthH2d" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><b style="display: none">Gross inventory</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,696,046</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,954,935</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--InventoryValuationReserves_iI_msINz7oH_zNS694yzzy33" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less allowance for obsolescence</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--InventoryNet_iTI_mtINz7oH_zxulPAzTxRMk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Net inventory</b></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,596,046</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,854,935</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Revenue Recognition:</span></td></tr></table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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, Times, Serif; margin: 0 0 12pt; 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>


<ix:exclude><!-- Field: Page; Sequence: 8; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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 six months ended November 30,
2022, 61% of revenue was recorded for contracts in which revenue was recognized over time while 39% was recognized at a point in time.
In the six months ended November 30, 2021, 67% of revenue was recorded for contracts in which revenue was recognized over time while 33%
was recognized at a point in time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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, Times, Serif; margin: 0 0 12pt; 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 November 30, 2022 and May 31, 2022, 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>

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.</span></td><td style="text-align: justify"><span style="font-size: 10pt">The November 30, 2021 statement of income has been reclassified to conform
with the presentation adopted for November 30, 2022.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Other current liabilities: </span></td></tr></table>

<ix:nonNumeric contextRef="From2022-09-01to2022-11-30" escape="true" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZsvDMQshM0l" summary="xdx: Disclosure - Other accrued expenses table (Details)" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_490_20221130_zIWSxOvqw7Ic" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_497_20220531_z6miOeqyIdk4" style="font-size: 12pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr id="xdx_400_eus-gaap--CustomerDepositsCurrent_iI_maALAOLzc6I_zthHQmAjDtIh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Customer deposits</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:CustomerDepositsCurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">954,262</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:CustomerDepositsCurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,347,709</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_iI_maALAOLzc6I_zVTq3XHqLIjd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Personnel costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,579,679</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,587,271</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherAccountsPayableAndAccruedLiabilities_iI_maALAOLzc6I_zcIs8etKQVPd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">553,674</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">479,334</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_mtALAOLzc6I_zqr6oNRQ2H43" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other current liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,087,615</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,414,314</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

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

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

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

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

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

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

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

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

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

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

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


<!-- Field: Page; Sequence: 9; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b><span id="MDA"></span>Item 2. Management's Discussion and Analysis of Financial
Condition and Results of Operations</b></p>

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

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline">Cautionary Statement</span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Private Securities Litigation Reform Act of 1995
provides a &#34;safe harbor&#34; for forward-looking statements. Information in this Item 2, &#34;Management's Discussion and Analysis
of Financial Condition and Results of Operations,&#34; and elsewhere in this 10-Q and its Exhibits that does not consist of historical
facts, are &#34;forward-looking statements.&#34; Statements accompanied or qualified by, or containing, words such as &#34;may,&#34;
&#34;will,&#34; &#34;should,&#34; &#34;believes,&#34; &#34;expects,&#34; &#34;intends,&#34; &#34;plans,&#34; &#34;projects,&#34;
&#34;estimates,&#34; &#34;predicts,&#34; &#34;potential,&#34; &#34;outlook,&#34; &#34;forecast,&#34; &#34;anticipates,&#34;
&#34;presume,&#34; and &#34;assume&#34; 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, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Results of Operations</span></b></p>

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

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

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td colspan="5" style="font-size: 10pt; font-weight: bold">Summary comparison of the six months ended November 30, 2022 and 2021</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="3" style="font-size: 10pt; text-align: right">Increase /</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(Decrease)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: right; padding-left: 5.4pt">Sales, net</td><td style="width: 10%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 18%; font-size: 10pt; text-align: right">4,522,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Cost of goods sold</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,506,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Research and development costs</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">207,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Selling, general and administrative expenses</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">772,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Income before provision for income taxes</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,158,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Provision for income taxes</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">438,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Net income</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,720,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  </table>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">For
financial statement presentation purposes, the Company nets progress billings against the total costs incurred </span>and estimated earnings
recognized on uncompleted contracts. The asset, &#34;costs and estimated earnings in excess of billings,&#34; represents revenues recognized
in excess of amounts billed. The liability, &#34;billings in excess of costs and estimated earnings,&#34; represents billings in excess
of revenues recognized.</p>

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


<!-- Field: Page; Sequence: 10; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><b>For
the six months ended November 30, 2022 </b></span>(All figures discussed are for the six months ended November 30, 2022 as compared to
the six months ended November 30, 2021).</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Six months ended November 30</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Change</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Amount</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Percent</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: right; padding-left: 5.4pt">Net Revenue</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">19,588,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">15,066,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">4,522,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">30</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-bottom: 1pt; padding-left: 5.4pt">Cost of sales</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">12,109,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">10,603,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,506,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">14</td><td style="padding-bottom: 1pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-bottom: 2.5pt; padding-left: 5.4pt">Gross profit</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">7,479,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,463,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,016,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">68</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">&#8230; as a percentage of net revenues</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">30</td><td style="text-align: left">%</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
Company's consolidated results of operations showed a 30% increase in net revenues and an increase in net income of 204%. Revenue for
the first half of fiscal 2023 is higher than any half fiscal year period in the history of the Company. Revenues recorded in the current
</span>period for long-term construction projects (&#8220;Project(s)&#8221;) were 18% more than the level recorded in the prior year.
The Company had 35 Projects in process during the current period as compared to 28 during the same period last year. Revenues recorded
in the current period for other-than long-term construction projects (non-projects) were 55% more than the level recorded in the prior
year. Total sales within the U.S. increased 43% from the same period last year. Total sales to Asia decreased 4% from the same period
of the prior year. Sales increases were recorded over the same period last year to customers involved in construction of buildings and
bridges (13%) as well as to customers in aerospace / defense (47%) and to industrial customers (93%). The increase in aerospace /defense
sales is due, in part, to a healthy combination of providing production hardware on several legacy programs and new development programs,
along with receiving substantial contracts for the refurbishment of hardware on existing naval platforms. The 108% increase in sales to
industrial customers is primarily due to some new domestic manufacturing facilities beginning operations which utilized the Company&#8217;s
products.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In prior years, the Company reported research and
development costs as part of cost of sales and therefore included in the gross profit. Management intends to continue to make significant
investments in research and development in order to promote profitable growth of the Company. In order to more clearly distinguish these
investments from the profitability of a period&#8217;s sales, effective with the first quarter of fiscal 2023, the Company is disclosing
research and development costs separately on the Condensed Consolidated Statements of Income below the gross profit line. Prior period
statements of income as well as disclosures in this document have been reclassified to conform with the presentation adopted for the current
period.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The gross profit as a percentage of net revenue of
38% in the current period is eight percentage points greater than the same period of the prior year (30%). 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. Management
continues to work with suppliers to obtain more visibility of conditions affecting their respective markets. These actions combined with
the increase in 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, Times, Serif; margin: 0; text-align: justify">&#160;</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Six months ended November 30</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: right; padding-left: 5.4pt">Industrial</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">11</td><td style="width: 1%; text-align: left">%</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">8</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">Structural</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">54</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">62</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-left: 5.4pt">Aerospace / Defense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">35</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">30</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">At
</span>November 30, 2021, the Company had 139 open sales orders in our backlog with a total sales value of $17.0 million. At November
30, 2022, the Company has 139 open sales orders in our backlog, and the total sales value is $18.1 million.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company's backlog, revenues, commission expense,
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>


<!-- Field: Page; Sequence: 11; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Net
revenue by geographic region, as a percentage of total net revenue for the six-month periods ended November 30, 2022 and </span>November
30, 2021 is as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td colspan="3" style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Six months ended November 30</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="3" style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 26%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">USA</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 26%; text-align: right">80</td><td style="width: 1%; text-align: left">%</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 26%; text-align: right">73</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Asia</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9</td><td style="text-align: left">%</td></tr>
  </table>

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

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

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

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Six months ended November 30</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Change</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Amount</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Percent</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: right; padding-left: 5.4pt">R &amp; D</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">690,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">483,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">207,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">43</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#8230; as a percentage of net revenues</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.5</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.2</td><td style="text-align: left">%</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Research and development costs stayed consistent as a percent of net revenues
while increasing by 43% over the prior year.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Selling, General and Administrative Expenses</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Six months ended November 30</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Change</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Amount</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Percent</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: right; padding-left: 5.4pt">SG&amp;A</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">3,853,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">3,081,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">772,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">25</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#8230; as a percentage of net revenues</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20</td><td style="text-align: left">%</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Selling, general and administrative expenses increased
by 25% from the prior year. This increase is primarily due to increased employee compensation costs including incentive compensation.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
above factors resulted in an operating income of $2,935,000 for the six months ended </span>November 30, 2022, 227% more than the $899,000
in the same period of the prior year.</p>

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

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

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td colspan="5" style="font-size: 10pt; font-weight: bold">Summary comparison of the three months ended November 30, 2022 and 2021</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="3" style="font-size: 10pt; text-align: right">Increase /</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(Decrease)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: right; padding-left: 5.4pt">Sales, net</td><td style="width: 10%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 18%; font-size: 10pt; text-align: right">2,739,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Cost of goods sold</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,236,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Research and development costs</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">114,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Selling, general and administrative expenses</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">413,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Income before provision for income taxes</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,122,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Provision for income taxes</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">222,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Net income</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">900,000</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  </table>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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>


<!-- Field: Page; Sequence: 12; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">For
financial statement presentation purposes, the Company nets progress billings against the total costs incurred </span>and estimated earnings
recognized on uncompleted contracts. The asset, &#34;costs and estimated earnings in excess of billings,&#34; represents revenues recognized
in excess of amounts billed. The liability, &#34;billings in excess of costs and estimated earnings,&#34; represents billings in excess
of revenues recognized.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><b>For
the three months ended November 30, 2022 </b></span>(All figures discussed are for the three months ended November 30, 2022 as compared
to the three months ended November 30, 2021).</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Three months ended November 30</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Change</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Amount</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Percent</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: right; padding-left: 5.4pt">Net Revenue</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,497,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">7,758,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,739,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">35</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-bottom: 1pt; padding-left: 5.4pt">Cost of sales</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,403,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,167,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,236,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">24</td><td style="padding-bottom: 1pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-bottom: 2.5pt; padding-left: 5.4pt">Gross profit</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,094,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,591,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,503,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">58</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">&#8230; as a percentage of net revenues</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">39</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">33</td><td style="text-align: left">%</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
Company's consolidated results of operations showed a 35% increase in net revenues and an increase in net income of 136%. Revenues recorded
in the current </span>period for Projects were 22% more than the level recorded in the prior year. The Company had 28 Projects in process
during the current period as compared to 26 during the same period last year. Revenues recorded in the current period for other-than long-term
construction projects (non-projects) were 64% more than the level recorded in the prior year. Total sales within the U.S. increased 41%
from the same period last year. Total sales to Asia increased 36% from the same period of the prior year. Sales increases were recorded
over the same period last year to customers involved in construction of buildings and bridges (10%) as well as to customers in aerospace
/ defense (59%) and to industrial customers (152%). The increase in aerospace /defense sales is due, in part, to a healthy combination
of providing production hardware on several legacy programs and new development programs, along with receiving substantial contracts for
the refurbishment of hardware on existing naval platforms. The increase in sales to industrial customers is primarily due to some new
domestic manufacturing facilities beginning operations which utilized the Company&#8217;s products.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The gross profit as a percentage of net revenue of
39% in the current period is six percentage points higher than the same period of the prior year (33%). 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. Management continues
to work with suppliers to obtain more visibility of conditions affecting their respective markets. These actions combined with the increase
in 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, Times, Serif; margin: 0; text-align: justify">&#160;</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Three months ended November 30</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: right; padding-left: 5.4pt">Industrial</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">15</td><td style="width: 1%; text-align: left">%</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">8</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">Structural</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">64</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-left: 5.4pt">Aerospace / Defense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">33</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Net
revenue by geographic region, as a percentage of total net revenue for the three-month periods ended November 30, 2022 and </span>November
30, 2021, is as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td colspan="3" style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Three months ended November 30</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="3" style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 26%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">USA</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 26%; text-align: right">77</td><td style="width: 1%; text-align: left">%</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 26%; text-align: right">75</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Asia</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9</td><td style="text-align: left">%</td></tr>
  </table>


<!-- Field: Page; Sequence: 13; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Three months ended November 30</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Change</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Amount</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Percent</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: right; padding-left: 5.4pt">R &amp; D</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">315,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">201,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">114,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">57</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#8230; as a percentage of net revenues</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.0</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.6</td><td style="text-align: left">%</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Research and development costs stayed consistent as a percentage of net
revenues while increasing by 57% over the prior year.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Selling, General and Administrative Expenses</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Three months ended November 30</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Change</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Amount</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">Percent</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: right; padding-left: 5.4pt">S G &amp; A</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,022,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,609,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">413,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">26</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;&#8230; as a percentage of net revenues</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">19</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">21</td><td style="text-align: left">%</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Selling, general and administrative expenses increased
26% from the prior year. This increase is primarily due to increased employee compensation costs including incentive compensation.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
above factors resulted in an operating income of $1,756,000 for the three months ended </span>November 30, 2022, 125% more than the $780,000
in the same period of the prior year.</p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
Company expenses stock options using the fair value recognition provisions of the FASB ASC. The Company recognized $128,000 and $126,000
of compensation cost for the six-month periods ended November 30, 2022 and </span>2021.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The fair value of each stock option grant has been
determined using the Black-Scholes model. 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. 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. The risk-free interest rate is derived
from the U.S. treasury yield. The Company used a weighted average expected term.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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, Times, Serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November<br /> 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November<br /> 2021</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: right; padding-left: 5.4pt">Risk-free interest rate:</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">1.625</td><td style="width: 1%; text-align: left">%</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">2.875</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">Expected life of the options:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.1 years</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4 years</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-left: 5.4pt">Expected share price volatility:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">30</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">32</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">Expected dividends:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">zero</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">zero</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 12pt; padding-left: 5.4pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">These assumptions resulted in estimated fair-market value per stock option:</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.06</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.42</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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.</p>


<!-- Field: Page; Sequence: 14; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">A summary of changes in the stock options outstanding
during the six-month period ended November 30, 2022 is presented below:</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="3" style="text-align: center">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="3" style="font-size: 10pt; text-align: center">Weighted-</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="3" style="font-size: 10pt; text-align: center">Number of</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="3" style="font-size: 10pt; text-align: center">Average</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">Options</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">Exercise Price</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; font-size: 10pt; text-align: right; padding-left: 5.4pt">Options outstanding and exercisable at May 31, 2022:</td><td style="width: 8%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 12%; font-size: 10pt; text-align: right">283,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">11.43</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Options granted:</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">42,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11.45</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Less: Options exercised:</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">4,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">8.06</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Less: Options expired:</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">3,750</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#8212;&#160;&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Options outstanding and exercisable at November 30, 2022:</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">317,250</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11.49</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-left: 5.4pt">Closing value per share on NASDAQ at November 30, 2022:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">13.40</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  </table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Capital Resources and Long-Term Debt</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company's primary liquidity is dependent upon
the working capital needs. These are mainly inventory, accounts receivable, costs and estimated earnings in excess of billings, accounts
payable, other current liabilities, 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, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Capital expenditures for the six months ended November
30, 2022 were $1,391,000 compared to $560,000 in the same period of the prior year. As of November 30, 2022, the Company has commitments
for capital expenditures totaling $1,800,000 during the next twelve months.</p>

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border: white 1pt solid; width: 100%">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Inventory and Maintenance Inventory</b></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p></td></tr>
  </table>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">Increase /(Decrease)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: right">Raw materials</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">575,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%; font-size: 12pt">&#160;</td>
    <td style="width: 1%; font-size: 12pt; text-align: left">&#160;</td><td style="width: 6%; font-size: 12pt; text-align: right">&#160;</td><td style="width: 1%; font-size: 12pt; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">489,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%; font-size: 12pt">&#160;</td>
    <td style="width: 1%; font-size: 12pt; text-align: left">&#160;</td><td style="width: 6%; font-size: 12pt; text-align: right">&#160;</td><td style="width: 1%; font-size: 12pt; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">86,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 6%; text-align: right">18</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">Work-in-process</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,901,000</td><td style="text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,166,000</td><td style="text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(265,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-5</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-bottom: 1pt">Finished goods</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">120,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-size: 12pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 12pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 12pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 12pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">200,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-size: 12pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 12pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 12pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 12pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(80,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">-40</td><td style="padding-bottom: 1pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,596,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">85</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,855,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">84</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(259,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-4</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-bottom: 1pt">Maintenance and other inventory</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">972,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">15</td><td style="padding-bottom: 1pt; text-align: left">%</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,107,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">16</td><td style="padding-bottom: 1pt; text-align: left">%</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(135,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">-12</td><td style="padding-bottom: 1pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,568,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">100</td><td style="padding-bottom: 2.5pt; text-align: left">%</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,962,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">100</td><td style="padding-bottom: 2.5pt; text-align: left">%</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(394,000</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">-6</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">Inventory turnover</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.6</td><td style="text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.1</td><td style="text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">NOTE: Inventory turnover is annualized for the six-month
period ended November 30, 2022.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Inventory, at $5,596,000 as of November 30, 2022,
is $259,000 less than the prior year-end level of $5,855,000. Approximately 88% of the current inventory is work in process, 2% is finished
goods, and 10% is raw materials.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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 zero and $90,000 for the six-month periods ended November 30, 2022 and 2021. The
Company continues to rework slow-moving inventory, where applicable, to convert it to product to be used on customer orders.</p>


<!-- Field: Page; Sequence: 15; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Accounts Receivable, Costs and Estimated Earnings
in Excess of Billings (&#8220;CIEB&#34;), and Billings in Excess of Costs and Estimated Earnings (&#34;BIEC&#34;)</b></p>

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

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">November 30, 2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">May 31, 2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">Increase /(Decrease)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; font-size: 10pt; text-align: right">Accounts receivable</td><td style="width: 3%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">5,941,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">4,467,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">1,474,000</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right">33</td><td style="width: 1%; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right">CIEB</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">5,295,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">3,336,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">1,959,000</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">59</td><td style="font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: right; padding-bottom: 1pt">Less: BIEC</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">1,090,000</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">1,123,000</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(33,000</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-3</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right; padding-bottom: 2.5pt">Net</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">10,146,000</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">6,680,000</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">3,466,000</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">52</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: right">Number of an average day&#8217;s sales outstanding in accounts receivable</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">51</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">42</td><td style="font-size: 10pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Accounts
receivable of $5,941,000 as of November 30, 2022 includes $6,000 of an allowance for doubtful accounts (&#8220;Allowance&#8221;). The
accounts receivable balance as of May 31, 2022 of $4,467,000 included an Allowance of $16,000. The number of an average day's sales outstanding
in accounts receivable (&#8220;DSO&#8221;) increased from 42 days at May 31, 2022 to 51 at November 30, 2022. </span>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 level of sales for an average day in the second quarter of the current fiscal year
is 9% more than in the fourth quarter of the prior year. The level of accounts receivable at the end of the current fiscal quarter is
33% more than the level at the end of the prior year. The increase in the level of accounts receivable off-set by the increase in the
level of an average day&#8217;s sales caused the DSO to increase from last year end to this quarter-end. The Company expects to collect
the net accounts receivable balance during the next twelve months. The level of accounts receivable is greater than at the end of the
prior year primarily because of the $1.2 million increase in the level of sales for the month of November 2022 over the month of May 2022.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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 $5,295,000 balance
in this account at November 30, 2022 is 59% 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. 17% of the CIEB balance as of the end of the last fiscal quarter, August 31, 2022, was billed to those
customers in the current fiscal quarter ended November 30, 2022. 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, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The balances in this account are comprised of the
following components:</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: right; padding-left: 5.4pt">Costs</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">3,380,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">3,250,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">Estimated Earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,221,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,642,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-bottom: 1pt; padding-left: 5.4pt">Less: Billings to customers</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,306,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,556,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-bottom: 2.5pt; padding-left: 5.4pt">CIEB</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,295,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,336,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-left: 5.4pt">Number of Projects in progress</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As noted above, BIEC represents billings to customers
in excess of revenues recognized. The $1,090,000 balance in this account at November 30, 2022 is down 3% from the $1,123,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>


<!-- Field: Page; Sequence: 16; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The balances in this account are comprised of the
following components:</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: right; padding-left: 5.4pt">Billings to customers</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,037,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,711,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">Less: Costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">676,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,019,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-bottom: 1pt; padding-left: 5.4pt">Less: Estimated Earnings</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">271,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">569,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-bottom: 2.5pt; padding-left: 5.4pt">BIEC</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,090,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,123,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-left: 5.4pt">Number of Projects in progress</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Summary of factors affecting the balances in CIEB and BIEC:</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: right; padding-left: 5.4pt">Number of Projects in progress</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">20</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">19</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">Aggregate percent complete</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">54</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">47</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right; padding-left: 5.4pt">Average total sales value of Projects in progress</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">657,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">795,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-left: 5.4pt">Percentage of total value invoiced to customer</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">25</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">35</td><td style="text-align: left">%</td></tr>
  </table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company's backlog of sales orders at November
30, 2022 is $18.1 million, down from the $23.7 million at the end of the prior year. $5.6 million of the current backlog is on Projects
already in progress. While too late to be included in the backlog as of November 30, 2022, the Company recorded an additional $8.2 million
of sales order bookings in the first half of December.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Other Balance Sheet Items</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accounts payable, at $1,537,000 as of November 30,
2022, is 8% more than the prior year-end. Other current liabilities decreased 10% from the prior year-end, to $3,088,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, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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>

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

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

<p style="font: bold 10pt Times New Roman, Times, Serif; color: navy; margin: 0; text-align: justify"><b><span id="QualitativeDisclosures"></span>Item 3. Quantitative and Qualitative
Disclosures About Market Risk</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Smaller reporting companies are not required to provide the information
called for by this item.</p>

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

<p style="font: bold 10pt Times New Roman, Times, Serif; color: navy; margin: 0; text-align: justify"><b><span id="ControlsAndProcedures"></span>Item 4. Controls and Procedures</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">(a) &#160;&#160;&#160;&#160;&#160;&#160;&#160;<i>Evaluation
of disclosure controls and procedures</i>.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company's principal executive officer and principal
financial officer have evaluated the Company's disclosure controls and procedures as of November 30, 2022 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, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">(b) &#160;&#160;&#160;&#160;&#160;&#160;&#160;<i>Changes
in internal control over financial reporting</i>.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There have been no changes in the Company's internal
controls over financial reporting that occurred during the fiscal quarter ended November 30, 2022 that have materially affected, or are
reasonably likely to materially affect, the Company's control over financial reporting.</p>


<!-- Field: Page; Sequence: 17; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: bold 10pt Times New Roman, Times, Serif; color: navy; margin: 0; text-align: justify"><b><span id="PartII"></span>Part II - Other Information</b></p>

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="LegalProceedings"></span>ITEM 1</span></td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Legal Proceedings</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="9" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There are no other legal proceedings except for routine litigation incidental to the business.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="RiskFactors"></span>ITEM 1A</span></td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Risk Factors</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="9" style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="9" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller reporting companies are not required to provide the information called for by this item.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="UseOfProceeds"></span>ITEM 2</span></td>
    <td colspan="9" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unregistered Sales of Equity Securities and Use of Proceeds</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="4" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</span></td>
    <td colspan="8" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company sold no equity securities during the fiscal quarter ended November 30, 2022 that were not registered under the Securities Act.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</span></td>
    <td colspan="8" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Use of proceeds following effectiveness of initial registration statement:</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="8" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not Applicable</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)</span></td>
    <td colspan="8" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Repurchases of Equity Securities &#8211; Quarter Ended November 30, 2022</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border: Black 1pt solid; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Period</i></span></td>
    <td colspan="2" style="border-top: Black 1pt solid; vertical-align: bottom; border-right: Black 1pt solid; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>(a) Total Number of Shares Purchased</i></span></td>
    <td style="border-top: Black 1pt solid; vertical-align: bottom; border-right: Black 1pt solid; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>(b) Average Price Paid Per Share</i></span></td>
    <td style="border-top: Black 1pt solid; vertical-align: bottom; border-right: Black 1pt solid; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>(c) Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs</i></span></td>
    <td style="border-top: Black 1pt solid; vertical-align: bottom; border-right: Black 1pt solid; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>(d) Maximum Number (or Approximate Dollar Value) of Shares that May Yet Be Purchased Under the Plans or Programs</i></span></td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">September 1, 2022 -</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">September 30, 2022</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;-</span></td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">October 1, 2022 -</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">October 31, 2022</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-&#160;</span></td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">November 1, 2022 -</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">November 30, 2022</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-&#160;</span></td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">&#160;</td>
    <td style="border-top: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-right: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Total</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td>
    <td style="border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td></tr>
  <tr>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="8" style="vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="4" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="9" style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ITEM 3</span></td>
    <td colspan="9" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Defaults Upon Senior Securities</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ITEM 4</span></td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Mine Safety Disclosures</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not applicable</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="MoreInformation"></span>ITEM 5</span></td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other Information</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</span></td>
    <td colspan="7" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Information required to be disclosed in a Report on Form 8-K, but not reported</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</span></td>
    <td colspan="7" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Material changes to the procedures by which Security Holders may recommend nominees to the Registrant's Board of Directors</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="3" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr>
    <td style="width: 2%">&#160;</td>
    <td style="width: 9%">&#160;</td>
    <td style="width: 5%">&#160;</td>
    <td style="width: 5%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 16%">&#160;</td>
    <td style="width: 2%">&#160;</td>
    <td style="width: 11%">&#160;</td>
    <td style="width: 11%">&#160;</td>
    <td style="width: 16%">&#160;</td>
    <td style="width: 22%">&#160;</td></tr>
  </table>

<!-- Field: Page; Sequence: 18; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; width: 2%; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; width: 9%; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; width: 11%; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; width: 22%; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; width: 11%; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; width: 11%; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; width: 16%; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; width: 18%; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="Exhibits"></span>ITEM 6</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exhibits </span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3(v)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="taydbylaws2022.htm">By-laws</a></span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31(i)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ceo302certification20221130.htm">Rule 13a-14(a) Certification of Chief Executive Officer.</a></span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31(ii)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="cfo302certification20221130.htm">Rule 13a-14(a) Certification of Chief Financial Officer.</a></span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32(i)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ceo906certification20221130.htm">Section 1350 Certification of Chief Executive Officer.</a></span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32(ii)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="cfo906certification20221130.htm">Section 1350 Certification of Chief Financial Officer.</a></span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.SCH</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL Taxonomy Extension Schema Document</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL Taxonomy Extension Calculation Linkbase Document</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL Taxonomy Extension Label Linkbase Document</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL Taxonomy Extension Presentation Linkbase Document</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover Page Interactive Data File &#8211; the cover page XBRL tags are embedded within the Inline XBRL document and are contained within Exhibit 101</span></td></tr>
  </table>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 19; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: bold 10pt Times New Roman, Times, Serif; color: navy; margin: 0; text-align: justify"><b>Report of Independent Registered
Public Accounting Firm</b></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Board of Directors and Stockholders</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Taylor Devices, Inc.</p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Results of Review of Interim Financial Information</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have reviewed the accompanying condensed consolidated
balance sheet of Taylor Devices, Inc. and Subsidiary (the Company) as of November 30, 2022, and the related condensed consolidated statements
of income and stockholders&#8217; equity for the three and six months ended November 30, 2022 and 2021, and cash flows for the six months
ended November 30, 2022 and 2021, 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, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; 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, 2022, 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 19, 2022, 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, 2022, 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, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Basis for Review Results</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; 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, Times, Serif; margin: 0"><span style="letter-spacing: -0.15pt">&#160;</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">December 29, 2022</p>

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

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

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

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

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

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

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


<!-- Field: Page; Sequence: 20; Value: 2 -->
    <div style="margin-top: 6pt; margin-bottom: 6pt"><p style="text-align: center; margin-top: 0pt; margin-bottom: 0pt">-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence -->-&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt"><a href="#TableOfContents" style="font-weight: bold; font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">TAYLOR DEVICES, INC.</p>

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

<p style="font: bold 10pt Times New Roman, Times, Serif; color: navy; margin: 0; text-align: justify"><b><span id="Signatures"></span>Signatures</b></p>

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

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

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="width: 67%; padding-right: 6pt; padding-left: 6pt">&#160;</td>
    <td style="width: 33%; padding-right: 6pt; padding-left: 6pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TAYLOR DEVICES, INC.</span></span></td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 6pt; padding-left: 6pt">&#160;</td>
    <td style="padding-right: 6pt; padding-left: 6pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Registrant)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border-top: white 1pt solid; width: 9%; border-bottom: white 1pt solid; border-left: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:</span></td>
    <td style="width: 50%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December 29, 2022</span></td>
    <td style="border-top: white 1pt solid; width: 4%; border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-top: white 1pt solid; width: 1%; border-bottom: white 1pt solid">&#160;</td>
    <td style="width: 36%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">/s/Timothy J. Sopko</span></span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Timothy J. Sopko</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Executive Officer</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">(Principal Executive Officer)</p></td></tr>
  </table>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border: white 1pt solid; width: 20%; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td>
    <td style="border-top: white 1pt solid; width: 20%; border-right: white 1pt solid; border-bottom: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td>
    <td style="border-top: white 1pt solid; width: 20%; border-right: white 1pt solid; border-bottom: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td>
    <td style="border-top: white 1pt solid; width: 20%; border-right: white 1pt solid; border-bottom: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td>
    <td style="border-top: white 1pt solid; width: 20%; border-right: white 1pt solid; border-bottom: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; padding-right: 6pt; padding-left: 6pt">
    <p style="font: 10pt/6pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.9pt">&#160;</p></td></tr>
  </table>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border-top: white 1pt solid; width: 8%; border-bottom: white 1pt solid; border-left: white 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:</span></td>
    <td style="width: 51%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December 29, 2022</span></td>
    <td style="border-top: white 1pt solid; width: 4%; border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-top: white 1pt solid; width: 1%; border-bottom: white 1pt solid">&#160;</td>
    <td style="width: 36%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">/s/Mark V. McDonough</span></span></td></tr>
  <tr style="vertical-align: top">
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; border-left: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Mark V. McDonough</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Financial Officer</p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

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

</body>
</html>
<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- eJxFjd0KgkAQhZ/Adxj2WkoXovCupCSyCJHodskxlnRHZrcfH6m3bFOiYWAYzvnOESIUGW10gwznVZFDiW3XKIdQYI2M5oLekW53Cfhb4FVbx8q44f2BKXkGPTObxHPlhcH60BarBGI5lYuplBBHSSxhuRfBV0/J1LpC47RqQJkKjkwda3SK+zGhVC8y1PZD1QnZajI+bhKN8htk5PMO9FBP4puFPE9FEA4TiIzp3n1r7tZRC+sGW99lR/S/wQcP40k6 -->
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31
<SEQUENCE>2
<FILENAME>ceo302certification20221130.htm
<DESCRIPTION>CEO 302 CERTIFICATION
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: -0.5in"><B>Exhibit 31(i)</B></P>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif"><B>CERTIFICATION</B></FONT><B>
OF CHIEF EXECUTIVE OFFICER</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>PURSUANT TO RULE 13a - 14(a) OF THE SECURITIES EXCHANGE
ACT OF 1934,</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY
ACT OF 2002</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">I, Timothy J. Sopko, certify that:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">1. I have reviewed this quarterly report
on Form 10-Q of Taylor Devices, Inc.;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">4. The registrant&rsquo;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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(c) Evaluated the effectiveness of the registrant&rsquo;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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(d) Disclosed in this report any change in the
registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal quarter (the
registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially
affect, the registrant&rsquo;s internal control over financial reporting; and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">5. The registrant&rsquo;s other certifying
officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&rsquo;s
auditors and the audit committee of registrant&rsquo;s board of directors (or persons performing the equivalent functions):</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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&rsquo;s ability to record, process, summarize and report financial information; and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(b) Any fraud, whether or not material, that
involves management or other employees who have a significant role in the registrant&rsquo;s internal control over financial reporting.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2.5in">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 58%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: December 29, 2022</FONT></TD>
    <TD STYLE="width: 42%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>/s/ Timothy J. Sopko&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</U></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="font: 12pt Times New Roman, Times, Serif; padding-top: 6pt; padding-bottom: 2.85pt">&nbsp;</TD>
    <TD STYLE="padding-right: 6pt; padding-left: 6pt">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: left; text-indent: 0in">Timothy J. Sopko</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: left; text-indent: 0in">Chief Executive Officer</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.85pt">&nbsp;</P></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32
<SEQUENCE>3
<FILENAME>ceo906certification20221130.htm
<DESCRIPTION>CEO 906 CERTIFICATION
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><B>Exhibit 32(i)</B></P>

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

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

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

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

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION</B></FONT>
OF CHIEF EXECUTIVE OFFICER</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center; text-indent: 0.5in"><B>PURSUANT TO 18 U.S.C. SECTION
1350, AS ADOPTED PURSUANT TO SECTION 906 </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center; text-indent: 0.5in"><B>OF THE SARBANES-OXLEY ACT OF
2002</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">In connect with the quarterly
report of Taylor Devices, Inc. (&quot;the Company&quot;) on Form 10-Q for the quarter ended November 30, 2022 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&nbsp;906 of the Sarbanes-Oxley
Act of 2002, 18&nbsp;U.S.C. Section 1350, that:</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">(1) The Report fully complies
with the requirements of Section&nbsp;13(a) or 15(d) of the Securities Exchange Act of 1934; and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">It is not intended that this statement
be deemed to be filed for purposes of the Securities Exchange Act of 1934.</P>

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

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

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 55%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: December 29, 2022</FONT></TD>
    <TD STYLE="width: 8%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="width: 37%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>/s/ Timothy J. Sopko&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</U></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="font: 12pt Times New Roman, Times, Serif; padding-top: 6pt; padding-bottom: 2.85pt">&nbsp;</TD>
    <TD STYLE="font: 12pt Times New Roman, Times, Serif; padding-top: 6pt; padding-bottom: 2.85pt">&nbsp;</TD>
    <TD STYLE="padding-right: 6pt; padding-left: 6pt">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: left; text-indent: 0in">Timothy J. Sopko</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: left; text-indent: 0in">Chief Executive Officer</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.85pt">&nbsp;</P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31
<SEQUENCE>4
<FILENAME>cfo302certification20221130.htm
<DESCRIPTION>CFO 301 CERTIFICATION
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: -0.5in"><B>Exhibit 31(ii)</B></P>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif"><B>CERTIFICATION</B></FONT><B>
OF CHIEF FINANCIAL OFFICER</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>PURSUANT TO RULE 13a - 14(a) OF THE SECURITIES EXCHANGE
ACT OF 1934,</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY
ACT OF 2002</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">I, Mark V. McDonough, certify
that:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">1. I have reviewed this quarterly report
on Form 10-Q of Taylor Devices, Inc.;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in 0 0.25in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.5in; text-align: justify">(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 STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2.5in">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 55%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: December 29, 2022</FONT></TD>
    <TD STYLE="width: 45%; border-bottom: Black 1pt solid; font: 12pt Times New Roman, Times, Serif; padding-top: 6pt; padding-bottom: 2.85pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Mark V. McDonough</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="font: 12pt Times New Roman, Times, Serif; padding-top: 6pt; padding-bottom: 2.85pt">&nbsp;</TD>
    <TD STYLE="padding-right: 6pt; padding-left: 6pt">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 6pt 0 0">Mark V. McDonough</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Financial Officer</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.85pt">&nbsp;</P></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32
<SEQUENCE>5
<FILENAME>cfo906certification20221130.htm
<DESCRIPTION>CFO 906 CERTIFICATION
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><B>Exhibit 32(ii)</B></P>

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

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

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

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

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION</B></FONT>
OF CHIEF FINANCIAL OFFICER</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center; text-indent: 0.5in"><B>PURSUANT TO 18 U.S.C. SECTION
1350, AS ADOPTED PURSUANT TO SECTION 906 </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center; text-indent: 0.5in"><B>OF THE SARBANES-OXLEY ACT OF
2002</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">In connect with the quarterly
report of Taylor Devices, Inc. (the &quot;Company&quot;) on Form 10-Q for the quarter ended November 30, 2022 to be filed with Securities
and Exchange Commission on or about the date hereof (the &quot;Report&quot;), I, Mark V. McDonough, Chief Financial Officer of the Company,
certify, pursuant to Section&nbsp;906 of the Sarbanes-Oxley Act of 2002, 18&nbsp;U.S.C. Section 1350, that:</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">(1) The Report fully complies
with the requirements of Section&nbsp;13(a) or 15(d) of the Securities Exchange Act of 1934; and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">(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 STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">It is not intended that this statement
be deemed to be filed for purposes of the Securities Exchange Act of 1934.</P>

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

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

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 53%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: December 29, 2022</FONT></TD>
    <TD STYLE="width: 9%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="width: 38%; padding-top: 6pt; padding-bottom: 2.85pt; font: 12pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>/s/ Mark V. McDonough&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</U></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="font: 12pt Times New Roman, Times, Serif; padding-top: 6pt; padding-bottom: 2.85pt">&nbsp;</TD>
    <TD STYLE="font: 12pt Times New Roman, Times, Serif; padding-top: 6pt; padding-bottom: 2.85pt">&nbsp;</TD>
    <TD STYLE="padding-right: 6pt; padding-left: 6pt">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 6pt 0 0">Mark V. McDonough,</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: left; text-indent: 0in">Chief Financial Officer</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2.85pt">&nbsp;</P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>tayd-20221130.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.17a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: +Kg5w7xRiXgOn8uCanEsSaCLucPtxZV+WYlBs2d2bdm6by8nuLMbsSw1GlNmQXYN -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:us-gaap="http://fasb.org/srt-sup/2022q3" xmlns:srt="http://fasb.org/srt/2022" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:tayd="http://taylordevices.com/20221130" elementFormDefault="qualified" targetNamespace="http://taylordevices.com/20221130">
    <annotation>
      <appinfo>
	<link:roleType roleURI="http://taylordevices.com/role/Cover" id="Cover">
	  <link:definition>00000001 - Document - Cover</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/BalanceSheets" id="BalanceSheets">
	  <link:definition>00000002 - Statement - Condensed Consolidated Balance Sheets</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/StatementsOfIncome" id="StatementsOfIncome">
	  <link:definition>00000003 - Statement - Condensed Consolidated Statements of Income</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/StatementsOfStockholdersEquity" id="StatementsOfStockholdersEquity">
	  <link:definition>00000004 - Statement - Condensed Consolidated Statements of Stockholders Equity</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/StatementsOfCashFlows" id="StatementsOfCashFlows">
	  <link:definition>00000005 - Statement - Condensed Consolidated Statements of Cash Flows</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" id="NotesToCondensedConsolidatedFinancialStatements">
	  <link:definition>00000006 - Disclosure - Notes to Condensed Consolidated Financial Statements</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" id="NotesToCondensedConsolidatedFinancialStatementsTables">
	  <link:definition>00000007 - Disclosure - Notes to Condensed Consolidated Financial Statements (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/InventoryDetails" id="InventoryDetails">
	  <link:definition>00000008 - Disclosure - Inventory (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/OtherAccruedExpensesTableDetails" id="OtherAccruedExpensesTableDetails">
	  <link:definition>00000009 - Disclosure - Other accrued expenses table (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" id="NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative">
	  <link:definition>00000010 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:linkbaseRef xlink:type="simple" xlink:href="tayd-20221130_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="tayd-20221130_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="tayd-20221130_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="tayd-20221130_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd" />
    <import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd" />
    <import namespace="http://fasb.org/us-gaap-sup/2022q3" schemaLocation="https://xbrl.fasb.org/us-gaap/2022q3/us-gaap-sup-2022q3.xsd" />
    <import namespace="http://fasb.org/srt-sup/2022q3" schemaLocation="https://xbrl.fasb.org/srt/2022q3/srt-sup-2022q3.xsd" />
    <import namespace="http://fasb.org/us-types/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd" />
    <import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd" />
    <import namespace="http://fasb.org/srt-types/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>tayd-20221130_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.17a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://taylordevices.com/role/Cover" xlink:href="tayd-20221130.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/BalanceSheets" xlink:href="tayd-20221130.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfIncome" xlink:href="tayd-20221130.xsd#StatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfStockholdersEquity" xlink:href="tayd-20221130.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfCashFlows" xlink:href="tayd-20221130.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/InventoryDetails" xlink:href="tayd-20221130.xsd#InventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/OtherAccruedExpensesTableDetails" xlink:href="tayd-20221130.xsd#OtherAccruedExpensesTableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/BalanceSheets" xlink:title="00000002 - Statement - Condensed Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent" xlink:label="loc_us-gaapAccountsAndOtherReceivablesNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsAndOtherReceivablesNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPartsAndComponentsNetOfReserves" xlink:label="loc_us-gaapInventoryPartsAndComponentsNetOfReserves" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryPartsAndComponentsNetOfReserves" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:label="loc_us-gaapCostsInExcessOfBillingsOnUncompletedContractsOrPrograms" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapOtherAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInventoryNoncurrent" xlink:label="loc_us-gaapOtherInventoryNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOtherInventoryNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:label="loc_us-gaapOtherAssetsMiscellaneousNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOtherAssetsMiscellaneousNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BillingsInExcessOfCostCurrent" xlink:label="loc_us-gaapBillingsInExcessOfCostCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapBillingsInExcessOfCostCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOtherLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="loc_us-gaapStockholdersEquityBeforeTreasuryStock" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityBeforeTreasuryStock" xlink:to="loc_us-gaapAdditionalPaidInCapitalCommonStock" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityBeforeTreasuryStock" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquityBeforeTreasuryStock" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapTreasuryStockValue" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfIncome" xlink:title="00000003 - Statement - Condensed Consolidated Statements of Income">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenues" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfStockholdersEquity" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Stockholders Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapStockOptionPlanExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaapIncreaseDecreaseInUnbilledReceivables" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInUnbilledReceivables" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="loc_us-gaapIncreaseDecreaseInOtherCurrentAssets" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOtherCurrentAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:label="loc_us-gaapIncreaseDecreaseInBillingInExcessOfCostOfEarnings" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInOtherCurrentLiabilities" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOtherCurrentLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="loc_us-gaapPaymentsForProceedsFromOtherInvestingActivities" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsForProceedsFromOtherInvestingActivities" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:title="00000006 - Disclosure - Notes to Condensed Consolidated Financial Statements" />
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:title="00000007 - Disclosure - Notes to Condensed Consolidated Financial Statements (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/InventoryDetails" xlink:title="00000008 - Disclosure - Inventory (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/OtherAccruedExpensesTableDetails" xlink:title="00000009 - Disclosure - Other accrued expenses table (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerDepositsCurrent" xlink:label="loc_us-gaapCustomerDepositsCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities" xlink:to="loc_us-gaapCustomerDepositsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:label="loc_us-gaapOtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities" xlink:to="loc_us-gaapOtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapOtherAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities" xlink:to="loc_us-gaapOtherAccountsPayableAndAccruedLiabilities" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:title="00000010 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>tayd-20221130_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.17a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://taylordevices.com/role/Cover" xlink:href="tayd-20221130.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/BalanceSheets" xlink:href="tayd-20221130.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfIncome" xlink:href="tayd-20221130.xsd#StatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfStockholdersEquity" xlink:href="tayd-20221130.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfCashFlows" xlink:href="tayd-20221130.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/InventoryDetails" xlink:href="tayd-20221130.xsd#InventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/OtherAccruedExpensesTableDetails" xlink:href="tayd-20221130.xsd#OtherAccruedExpensesTableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/BalanceSheets" xlink:title="00000002 - Statement - Condensed Consolidated Balance Sheets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfIncome" xlink:title="00000003 - Statement - Condensed Consolidated Statements of Income" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfStockholdersEquity" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Stockholders Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueEmployeeBenefitPlan_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueEmployeeBenefitPlan_40" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_40" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_40" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockValue_40" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flows" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:title="00000006 - Disclosure - Notes to Condensed Consolidated Financial Statements" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:title="00000007 - Disclosure - Notes to Condensed Consolidated Financial Statements (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/InventoryDetails" xlink:title="00000008 - Disclosure - Inventory (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/OtherAccruedExpensesTableDetails" xlink:title="00000009 - Disclosure - Other accrued expenses table (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:title="00000010 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>tayd-20221130_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.17a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Short-term investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent" xlink:label="us-gaap_AccountsAndOtherReceivablesNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndOtherReceivablesNetCurrent" xlink:to="us-gaap_AccountsAndOtherReceivablesNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsAndOtherReceivablesNetCurrent_lbl" xml:lang="en-US">Accounts and other receivables, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPartsAndComponentsNetOfReserves" xlink:label="us-gaap_InventoryPartsAndComponentsNetOfReserves" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPartsAndComponentsNetOfReserves" xlink:to="us-gaap_InventoryPartsAndComponentsNetOfReserves_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPartsAndComponentsNetOfReserves_lbl" xml:lang="en-US">Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:to="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_lbl" xml:lang="en-US">Costs and estimated earnings in excess of billings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xml:lang="en-US">Other current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInventoryNoncurrent" xlink:label="us-gaap_OtherInventoryNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherInventoryNoncurrent" xlink:to="us-gaap_OtherInventoryNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherInventoryNoncurrent_lbl" xml:lang="en-US">Maintenance and other inventory, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property and equipment, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:label="us-gaap_OtherAssetsMiscellaneousNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:to="us-gaap_OtherAssetsMiscellaneousNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsMiscellaneousNoncurrent_lbl" xml:lang="en-US">Other assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">Liabilities and Stockholders' Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BillingsInExcessOfCostCurrent" xlink:label="us-gaap_BillingsInExcessOfCostCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BillingsInExcessOfCostCurrent" xlink:to="us-gaap_BillingsInExcessOfCostCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BillingsInExcessOfCostCurrent_lbl" xml:lang="en-US">Billings in excess of costs and estimated earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US">Other current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders' Equity:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US">Common stock and additional paid-in capital</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" xml:lang="en-US">Stockholders&#8217; equity before treasury stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Treasury stock - at cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Sales, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of goods sold</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research and development costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling, general and administrative expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;Operating income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other income, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;Income before provision for income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic and diluted earnings per common share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Parent, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xml:lang="en-US">Stock Issued During Period, Value, Employee Stock Purchase Plan</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan_lbl" xml:lang="en-US">Stock Issued During Period, Value, Employee Benefit Plan</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_lbl" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_3_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Parent, Ending Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_TreasuryStockValue_2_lbl" xml:lang="en-US">Treasury Stock, Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_4_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US">Operating activities:</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_3_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash flows from operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">&#160;&#160;&#160;Depreciation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">&#160;&#160;&#160;Stock options issued for services</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">&#160;&#160;&#160;Changes in other assets and liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Accounts and other receivables, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:to="us-gaap_IncreaseDecreaseInUnbilledReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Costs and estimated earnings in excess of billings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Other current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:label="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:to="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Billings in excess of costs and estimated earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Other current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract" xlink:label="us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract" xlink:to="us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract_lbl" xml:lang="en-US">Investing activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">&#160;&#160;&#160;Acquisition of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_lbl" xml:lang="en-US">&#160;&#160;&#160;Other investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract" xlink:label="us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract" xlink:to="us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract_lbl" xml:lang="en-US">Financing activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">&#160;&#160;&#160;Proceeds from issuance of common stock, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net change in cash and cash equivalents</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_2_lbl" xml:lang="en-US">Cash and cash equivalents - beginning</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_3_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Cash and cash equivalents - ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsTextBlock" xlink:label="srt_CondensedFinancialStatementsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CondensedFinancialStatementsTextBlock" xlink:to="srt_CondensedFinancialStatementsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CondensedFinancialStatementsTextBlock_lbl" xml:lang="en-US">Notes to Condensed Consolidated Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Other accrued expenses table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Raw materials</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcess" xlink:label="us-gaap_InventoryWorkInProcess" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcess" xlink:to="us-gaap_InventoryWorkInProcess_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcess_lbl" xml:lang="en-US">Work-in-process</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Finished goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryGross" xlink:label="us-gaap_InventoryGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryGross_lbl" xml:lang="en-US">Gross inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves" xlink:label="us-gaap_InventoryValuationReserves" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryValuationReserves_lbl" xml:lang="en-US">Less allowance for obsolescence</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Net inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerDepositsCurrent" xlink:label="us-gaap_CustomerDepositsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerDepositsCurrent" xlink:to="us-gaap_CustomerDepositsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerDepositsCurrent_lbl" xml:lang="en-US">Customer deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:to="us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_lbl" xml:lang="en-US">Personnel costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Other</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xml:lang="en-US">Other current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_2_lbl" xml:lang="en-US">Stockholders' Equity before Treasury Stock</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_3_lbl" xml:lang="en-US">Treasury Stock, Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:to="us-gaap_IncreaseDecreaseInUnbilledReceivables_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables_2_lbl" xml:lang="en-US">Increase (Decrease) in Unbilled Receivables</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_2_lbl" xml:lang="en-US">Increase (Decrease) in Other Current Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities_2_lbl" xml:lang="en-US">Payments for (Proceeds from) Other Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_2_lbl" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryGross_2_lbl" xml:lang="en-US">Inventory, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_2_lbl" xml:lang="en-US">Inventory, Net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_2_lbl" xml:lang="en-US">Accrued Liabilities and Other Liabilities</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>tayd-20221130_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.17a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://taylordevices.com/role/Cover" xlink:href="tayd-20221130.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/BalanceSheets" xlink:href="tayd-20221130.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfIncome" xlink:href="tayd-20221130.xsd#StatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfStockholdersEquity" xlink:href="tayd-20221130.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfCashFlows" xlink:href="tayd-20221130.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/InventoryDetails" xlink:href="tayd-20221130.xsd#InventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/OtherAccruedExpensesTableDetails" xlink:href="tayd-20221130.xsd#OtherAccruedExpensesTableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:href="tayd-20221130.xsd#NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/BalanceSheets" xlink:title="00000002 - Statement - Condensed Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent" xlink:label="loc_us-gaapAccountsAndOtherReceivablesNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsAndOtherReceivablesNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPartsAndComponentsNetOfReserves" xlink:label="loc_us-gaapInventoryPartsAndComponentsNetOfReserves" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryPartsAndComponentsNetOfReserves" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:label="loc_us-gaapCostsInExcessOfBillingsOnUncompletedContractsOrPrograms" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapOtherAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInventoryNoncurrent" xlink:label="loc_us-gaapOtherInventoryNoncurrent" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOtherInventoryNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:label="loc_us-gaapOtherAssetsMiscellaneousNoncurrent" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOtherAssetsMiscellaneousNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BillingsInExcessOfCostCurrent" xlink:label="loc_us-gaapBillingsInExcessOfCostCurrent" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapBillingsInExcessOfCostCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOtherLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapitalCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="loc_us-gaapStockholdersEquityBeforeTreasuryStock" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityBeforeTreasuryStock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapTreasuryStockValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfIncome" xlink:title="00000003 - Statement - Condensed Consolidated Statements of Income">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapRevenues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfStockholdersEquity" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Stockholders Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueEmployeeBenefitPlan" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueEmployeeBenefitPlan" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_3" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_3" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapStockOptionPlanExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaapIncreaseDecreaseInUnbilledReceivables" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInUnbilledReceivables" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="loc_us-gaapIncreaseDecreaseInOtherCurrentAssets" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherCurrentAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:label="loc_us-gaapIncreaseDecreaseInBillingInExcessOfCostOfEarnings" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInOtherCurrentLiabilities" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherCurrentLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract" xlink:label="loc_us-gaapAdditionalCashFlowElementsInvestingActivitiesAbstract" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapAdditionalCashFlowElementsInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdditionalCashFlowElementsInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="loc_us-gaapPaymentsForProceedsFromOtherInvestingActivities" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdditionalCashFlowElementsInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsForProceedsFromOtherInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdditionalCashFlowElementsInvestingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract" xlink:label="loc_us-gaapAdditionalCashFlowElementsFinancingActivitiesAbstract" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapAdditionalCashFlowElementsFinancingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdditionalCashFlowElementsFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_2" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:title="00000006 - Disclosure - Notes to Condensed Consolidated Financial Statements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsTextBlock" xlink:label="loc_srtCondensedFinancialStatementsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_srtCondensedFinancialStatementsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:title="00000007 - Disclosure - Notes to Condensed Consolidated Financial Statements (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfAccruedLiabilitiesTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/InventoryDetails" xlink:title="00000008 - Disclosure - Inventory (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapInventoryGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/OtherAccruedExpensesTableDetails" xlink:title="00000009 - Disclosure - Other accrued expenses table (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerDepositsCurrent" xlink:label="loc_us-gaapCustomerDepositsCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapCustomerDepositsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:label="loc_us-gaapOtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapOtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapOtherAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapOtherAccountsPayableAndAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:title="00000010 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-3
<SEQUENCE>11
<FILENAME>taydbylaws2022.htm
<DESCRIPTION>COMPANY BY-LAWS
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

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

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

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

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

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

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

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

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

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

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

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

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center">BY-LAWS</P>

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

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center">TAYLOR DEVICES, INC.</P>

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

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

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

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center">(Revision of 08/2022)</P>


<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0"><B>&nbsp;</B></P>

<P STYLE="font: 12pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B><U>TABLE OF CONTENTS</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: right"><B><U>Page</U></B></P>



<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%">
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="width: 90%; text-align: left; padding-top: 12pt; padding-bottom: 0in; padding-left: 0in"><B><U>ARTICLE I</U>&nbsp;&nbsp;&nbsp;MEETINGS OF SHAREHOLDERS</B></TD>
    <TD STYLE="width: 10%; text-align: right; padding-top: 12pt; padding-bottom: 0in"><B>1</B></TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 1.&nbsp;&nbsp;&nbsp;Annual Meeting</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">1</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 2.&nbsp;&nbsp;&nbsp;Special Meetings</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">1</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 3.&nbsp;&nbsp;&nbsp;Notice of Meetings</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">1</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 4.&nbsp;&nbsp;&nbsp;Waiver of Notice</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">1</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 5.&nbsp;&nbsp;&nbsp;Qualification of Voters</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">1</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 6.&nbsp;&nbsp;&nbsp;Quorum</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">1</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 7.&nbsp;&nbsp;&nbsp;Inspectors of Election</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">2</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 8.&nbsp;&nbsp;&nbsp;Proxies</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">2</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 9.&nbsp;&nbsp;&nbsp;Voting</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">2</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 10.&nbsp;&nbsp;&nbsp;Consents</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">2</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 11.&nbsp;&nbsp;&nbsp;Notice of Business</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">2</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 12.&nbsp;&nbsp;&nbsp;Shareholder Nominations</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">3</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 13.&nbsp;&nbsp;&nbsp;Conduct of Shareholder Meetings</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">3</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 14&nbsp;&nbsp;&nbsp;Undisclosed Beneficial Ownership</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">3</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 12pt; padding-bottom: 0in; padding-left: 0in"><B><U>ARTICLE II</U>&nbsp;&nbsp;&nbsp;BOARD OF DIRECTORS</B></TD>
    <TD STYLE="text-align: right; padding-top: 12pt; padding-bottom: 0in"><B>4</B></TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 1.&nbsp;&nbsp;&nbsp;Power of Board and Qualification of Directors</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">4</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 2.&nbsp;&nbsp;&nbsp;Number of Directors</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">4</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 3.&nbsp;&nbsp;&nbsp;Election and Term of Directors</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">4</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 4.&nbsp;&nbsp;&nbsp;Resignations</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">4</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 5.&nbsp;&nbsp;&nbsp;Removal of Directors</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">4</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 6.&nbsp;&nbsp;&nbsp;Newly Created Directorships and Vacancies</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">4</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 7.&nbsp;&nbsp;&nbsp;Executive and Other Committees of Directors</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">4</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 8.&nbsp;&nbsp;&nbsp;Compensation of Directors</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">5</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 12pt; padding-bottom: 0in; padding-left: 0in"><B><U>ARTICLE III</U>&nbsp;&nbsp;&nbsp;MEETINGS OF THE BOARD</B></TD>
    <TD STYLE="text-align: right; padding-top: 12pt; padding-bottom: 0in"><B>5</B></TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 1.&nbsp;&nbsp;&nbsp;Regular Meetings</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">5</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 2.&nbsp;&nbsp;&nbsp;Special Meetings; Notice and Waiver of Notice</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">5</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 3.&nbsp;&nbsp;&nbsp;Quorum; Action by the Board and Adjournment</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">5</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 4.&nbsp;&nbsp;&nbsp;Action without a Meeting</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">5</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 12pt; padding-bottom: 0in; padding-left: 0in"><B><U>ARTICLE IV</U>&nbsp;&nbsp;&nbsp;OFFICERS</B></TD>
    <TD STYLE="text-align: right; padding-top: 12pt; padding-bottom: 0in"><B>6</B></TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 1.&nbsp;&nbsp;&nbsp;Officers</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">6</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 2.&nbsp;&nbsp;&nbsp;Term of Office and Removal</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">6</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 3.&nbsp;&nbsp;&nbsp;Powers and Duties</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">6</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 4.&nbsp;&nbsp;&nbsp;Compensation</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">6</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 12pt; padding-bottom: 0in; padding-left: 0in"><B><U>ARTICLE V</U>&nbsp;&nbsp;&nbsp;INDEMNITY</B></TD>
    <TD STYLE="text-align: right; padding-top: 12pt; padding-bottom: 0in">6</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 1.&nbsp;&nbsp;&nbsp;Indemnification</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">6</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 2.&nbsp;&nbsp;&nbsp;Agreement to Indemnify</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">6</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 12pt; padding-bottom: 0in; padding-left: 0in"><B><U>ARTICLE VI</U>&nbsp;&nbsp;&nbsp;SHARE CERTIFICATES</B></TD>
    <TD STYLE="text-align: right; padding-top: 12pt; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 1.&nbsp;&nbsp;&nbsp;Form of Share Certificates</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 2.&nbsp;&nbsp;&nbsp;Registration of Transfers</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 3.&nbsp;&nbsp;&nbsp;Dividends</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 4.&nbsp;&nbsp;&nbsp;Fixing Record Date</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 12pt; padding-bottom: 0in; padding-left: 0in"><B><U>ARTICLE VII</U>&nbsp;&nbsp;&nbsp;MISCELLANEOUS PROVISIONS</B></TD>
    <TD STYLE="text-align: right; padding-top: 12pt; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 1.&nbsp;&nbsp;&nbsp;Corporate Seal</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 2.&nbsp;&nbsp;&nbsp;Fiscal Year</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 3.&nbsp;&nbsp;&nbsp;Checks and Notes</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">7</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section&nbsp;4&nbsp;&nbsp;&nbsp;Exclusive Forum</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">8</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 12pt; padding-bottom: 0in; padding-left: 0in"><B><U>ARTICLE VIII</U>&nbsp;&nbsp;&nbsp;AMENDMENTS</B></TD>
    <TD STYLE="text-align: right; padding-top: 12pt; padding-bottom: 0in">8</TD></TR>
  <TR STYLE="text-align: left; vertical-align: bottom; font: 10pt Arial, Helvetica, Sans-Serif">
    <TD STYLE="text-align: left; padding-top: 0in; padding-bottom: 0in; padding-left: 12pt">Section 1.&nbsp;&nbsp;&nbsp;Power to Amend</TD>
    <TD STYLE="text-align: right; padding-top: 0in; padding-bottom: 0in">8</TD></TR>
</TABLE>
<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>


<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>ARTICLE I</B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B><U>MEETINGS OF SHAREHOLDERS</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 1.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>ANNUAL MEETING</U>. A meeting of the shareholders shall
be held annually for the election of directors and the transaction of such other business as may properly come before the meeting which
may be held within or without the State of New York, at any time within six (6) months after the end of the fiscal year as shall be fixed
by the Board of Directors.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 2.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>SPECIAL MEETINGS</U>. Special meetings of the shareholders
may be called by the Board of Directors at the written request of the holders of record of a majority of the outstanding shares of the
Corporation entitled to vote at such meetings. Special meetings shall be held at such time as may be fixed in the call and stated in the
notice of meeting or waiver thereof. At any such special meeting only such business may be transacted as is related to the purposes set
forth in the notice of the meeting.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 3.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>NOTICE OF MEETINGS</U>. Written notice of each meeting
of shareholders shall be given, personally or by mail, not less than ten (10) nor more than sixty (60) days before the date of the meeting,
to each shareholder entitled to vote at such meeting.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify">Notice of any meeting of shareholders shall
state the place, date, and hour of such meeting and in the case of special meetings (i) the purpose or purposes for which the meeting
is called and (ii) at whose direction the notice is being issued. If mailed, such notice is given when deposited in the United States
mail directed to the shareholder at his address as it appears on the record of shareholders, or, if he shall have filed with the Secretary
of the Corporation a written request that notices to him be mailed to some other address, then directed to him at such other address.&#9;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 4.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>WAIVER OF NOTICE.</U> Notice of any meeting need not be given to any shareholder who submits a signed waiver of notice, in person or by proxy,
whether before or after the meeting. The attendance of any shareholder at a meeting, in person or by proxy, without protesting prior to
the conclusion of the meeting the lack of notice of such meeting, shall constitute a waiver of notice by him.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 5.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>QUALIFICATION
OF VOTERS</U>. Except as may be otherwise provided in the Certificate of Incorporation, every shareholder of record shall be entitled
at every meeting of shareholders to one vote for every share standing in his name on the record of shareholders.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">Shares of the Corporation standing in the
name of another domestic or foreign corporation of any type or kind may be voted by such officer, agent or proxy as the By-Laws of the
Corporation may provide, or in the absence of such provision, as the Board of Directors of the Corporation may determine.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify">The Corporation shall be protected in treating
the persons in whose names shares stand on the record of shareholders as the owners thereof for all purposes.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 6.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>QUORUM</U>.
The presence of a majority of the holders of shares entitled to vote, whether such presence is in person or by proxy, shall constitute
a quorum at a meeting of shareholders for the transaction of any business unless the New York Business Corporation Law provides otherwise.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">When a quorum is once present to organize
a meeting, it is not broken by the subsequent withdrawal of any shareholders.</P>

<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify"></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">The shareholders present may
adjourn the meeting despite the absence of a quorum.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 7.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>INSPECTORS
OF ELECTION</U>. In advance of any shareholders&rsquo; meeting, the Board of Directors may appoint one or more inspectors of election
to act at the meeting or any adjournment thereof. If inspectors are not so appointed, the person presiding at the shareholders&rsquo;
meeting may, and on the request of any shareholder entitled to vote thereat shall, appoint such inspectors.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">In case any person appointed fails to appear
or act, the vacancy may be filled by appointment made by the Board of Directors in advance of the meeting or at the meeting by the person
presiding thereat.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">Each inspector, before entering upon the
discharge of his duties, shall take and sign an oath faithfully to execute the duties of inspector at such meeting with strict impartiality
and according to the best of his ability.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 8.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>PROXIES</U>.
Every shareholder entitled to vote at a meeting of shareholders or to express consent or dissent without a meeting may authorize another
person or persons to act for him by proxy.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify">Every proxy must be signed by the shareholder
or his attorney-in-fact. No proxy shall be valid after the expiration of eleven (11) months from the date thereof unless otherwise provided
in the proxy. Every proxy shall be revocable at the pleasure of the shareholder executing it, except as otherwise provided therein and
as permitted by law.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 9.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>VOTING</U>.
Directors shall be elected by a plurality of the votes cast at a meeting of shareholders by the holders of shares entitled to vote in
the election.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify">Whenever any corporate action, other than
the election of Directors, is to be taken by vote of the shareholders, it shall, except as otherwise provided by law, be authorized by
a majority of the votes cast at a meeting of shareholders by the holders of shares entitled to vote thereon.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 10.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>CONSENTS</U>.
Whenever shareholders are required or permitted to take any action by vote, such action may be taken without a meeting on written consent,
setting forth the action so taken signed by the holders of all outstanding shares entitled to vote thereon.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 11.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>NOTICE
OF BUSINESS</U>. At any meeting of shareholders, only such business shall be conducted as shall have been brought before the meeting (i)
by or at the direction of the Board of Directors, or (ii) by any shareholder of the Corporation who is a shareholder of record at the
time of the giving of notice provided in this Section, and entitled to vote at such meeting, and who complies with all notice procedures
set forth in this Section. For business to be properly brought before a meeting of shareholders by a shareholder, the shareholder shall
have given timely notice thereof in writing to the Secretary. &ldquo;Timely,&rdquo; for purposes of this Section, shall mean that the
notice shall be delivered to, or mailed by first class United States mail, postage prepaid and received at, the principal executive office
of the Corporation not less than 30 days prior to the meeting; provided, however, that should less than 40 days&rsquo; notice or prior
public disclosure of the date of the meeting be given or made to shareholders, such written notice from the shareholder must be delivered
or mailed, and presented, not later than the close of business on the tenth day following the day on which the Notice of Meeting was mailed,
or such public disclosure was made, whichever first occurs.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify"></P>

<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify">Each notice referred to in the preceding
paragraph shall set forth, as to each matter the shareholder proposes to bring before the meeting, (1) a brief description of the business
desired to be brought before the meeting, the reasons for conducting such business at the meeting and, in the event that such business
includes a proposal to amend either the Certificate of Incorporation or the By-Laws, the specific text of the proposed amendment; (2)
the name and the business and residence address of the shareholder or shareholders proposing such business; (3) the class and number of
shares of capital stock of the Corporation which are beneficially owned by such shareholder or shareholders; and (4) a brief description
of the material interest, if any, of such shareholder in such business.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify">Notwithstanding anything in these By-Laws
to the contrary, any reference in any Notice of Meeting of the Shareholders, referring to the transaction of &ldquo;other business,&rdquo;
shall be limited to procedural matters only, and no item of business shall be conducted at a shareholders&rsquo; meeting, except in accordance
with this Section. The Chairman of the meeting shall, if the facts warrant, determine and declare to the meeting that the item of business
was not properly brought before the meeting or in accordance with this Section, and, if the Chairman should so determine, shall declare
that such item of business shall not be transacted.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 12.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>SHAREHOLDER
NOMINATIONS</U>. Nominations for the election of directors may be made by a shareholder entitled to vote for the election of directors
only in accordance with these By-Laws. Such nominations must be made by notice in writing, delivered or mailed by first class United States
mail, postage prepaid, to the Secretary at the principal executive office of the Corporation not less than 30 days prior to any meeting
of the shareholders called for the election of directors; <I>provided, however</I>, that should less than 40 day&rsquo; notice or prior
public disclosure of the date of the meeting be given or made to shareholders, such written nomination by a shareholder must be delivered
or mailed, and presented, not later than the close of business on the tenth day following the day on which the Notice of Meeting was mailed
or such public disclosure was made, whichever first occurs.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify">Each notice referred to in the preceding
paragraph shall set forth, (1) as to each nominee proposed in such notice, such person&rsquo;s name, age, business address and, if known,
residence address, together with all information regarding such person as would be required to be disclosed in a proxy statement soliciting
proxies for election of directors filed pursuant to Regulation 14A of the Securities and Exchange Commission under the Securities Exchange
Act of 1934, (2) the name, business and residence addresses and number of shares of the Corporation&rsquo;s capital stock beneficially
owned by each person making the nomination or nominations, and (3) a description of all arrangements or understandings between each such
shareholder and any nominee or any other person or persons (naming such person or persons) in connection with or relating to the making
of the nomination or nominations to serve on the Board of Directors, if elected.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify">The Chairman of the meeting shall, if the
facts warrant, determine and declare to the meeting that a nomination was not made in accordance with the procedures set forth in this
Section and, if the Chairman should so determine, shall declare the nomination defective and to be disregarded.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 13.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>CONDUCT
OF SHAREHOLDER MEETINGS</U>. The Board of Directors may, from time to time, adopt rules of conduct and proxy review guidelines for shareholder
meetings. If any provision of such rules of conduct and proxy review guidelines shall conflict with the Certificate of Incorporation of
the Corporation or with these By-Laws, the Certificate of Incorporation or these By-Laws, as the case may be, shall control.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 14.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>UNDISCLOSED
BENEFICIAL OWNERSHIP</U>. If a person is required to report beneficial ownership of shares of the Corporation under Section 13(d) or 13(g)
of the Securities Exchange Act of 1934 and the Rules of the U.S. Securities and Exchange Commission thereunder, as such Act and Rules
are in effect from time to time, but such person has not done so, then such shares shall not be voted until 10 calendar days after such
person shall have reported such beneficial ownership in accordance with such Act and Rules.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"></P>

<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>ARTICLE II</B></P>

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B><U>BOARD OF DIRECTORS</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 1.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>POWER OF BOARD AND QUALIFICATION OF DIRECTORS</U>.
The business of the Corporation shall be managed by the Board of Directors, each of whom shall be at least eighteen (18) years of age.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 2.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>NUMBER OF DIRECTORS</U>. The number of Directors constituting
the entire Board of Directors shall be not less than three (3) nor more than ten (10).</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 3.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>ELECTION AND TERM OF DIRECTORS</U>. The Board of Directors
shall be comprised of three Classes, each such Class to be as nearly equal in number as possible. At each annual meeting of shareholders,
each Director shall be elected to hold office until expiration of the term of that Director&rsquo;s Class, which shall in each instance
be three years, or until such Director&rsquo;s successor is elected and qualified; <I>provided however</I>, that the terms of office of
Directors initially classified and elected shall be as follows: the term of the first Class shall expire at the next annual meeting of
shareholders following approval of classification; the term of the second Class at the second succeeding annual meeting following approval
of classification; and the term of the Third Class at the third succeeding annual meeting following approval of classification.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 4.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>RESIGNATIONS</U>. Any Director of the Corporation may
resign at any time by giving written notice to the Board of Directors or to the Secretary of the Corporation. Such resignation shall take
effect at the time specified therein; and unless otherwise specified therein the acceptance of such resignation shall not be necessary
to make it effective.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 5.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>REMOVAL OF DIRECTORS</U>. Any or all of the Directors
may be removed with cause by vote of the shareholders.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 6.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>NEWLY CREATED DIRECTORSHIPS AND VACANCIES</U>. Newly
created Directorships resulting from an increase in the number of Directors and vacancies occurring in the Board of Directors for any
reason whatsoever shall be filled by a vote of a majority of the Directors then in office, although less than quorum exists. A Director
elected to fill a vacancy or a newly created Directorship shall not be classified, but shall be elected and hold office until the next
annual meeting of shareholders, or until such time as may be otherwise provided for in Sections 4 and 5 herein. Any newly created Directorships,
or any decrease in Directorships, shall be so apportioned among the Classes as to make all Classes as nearly equal as possible.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 7.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>EXECUTIVE AND OTHER COMMITTEES OF DIRECTORS</U>. The
Board of Directors, by resolution adopted by a majority of the entire Board, may designate from among its members an executive committee
and other committees, each consisting of three or more Directors, and each of which, to the extent provided in the resolution and permitted
by law, shall have all the authority of the Board.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">The Board of Directors
may designate one or more Directors as alternate members of any such committee, who may replace any absent member or members at any meeting
of such committee.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">Each such committee shall
serve at the pleasure of the Board of Directors.</P>

<!-- Field: Page; Sequence: 6 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 8.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>COMPENSATION OF DIRECTORS</U>. The Board of Directors
shall have authority to fix the compensation of Directors for services in any capacity, or to allow a fixed amount plus expenses, if any,
for attendance at meetings of the Board or of committees of Directors.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>ARTICLE III</B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B><U>MEETINGS OF THE BOARD</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 1.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>REGULAR MEETINGS</U>. Regular meetings of the Board
of Directors shall be held, without notice, immediately following the annual meetings of shareholders.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 2.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>SPECIAL MEETINGS; NOTICE AND WAIVER OF NOTICE</U>.
Special meetings of the Board of Directors may be held upon the call of the Chairman of the Board by oral, telegraphic or written notice,
duly given to or sent or mailed to each Director not less than one day prior to said meeting. Special meetings shall be called by the
Chairman of the Board on the written request of any two (2) Directors.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">Notice of a special meeting
need not be given to any Director who submits a signed waiver of notice whether before or after a meeting, or who attends the meeting
without protesting, prior thereto or at its commencement, the lack of notice to him.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">A notice, or waiver of
notice, need not specify the purpose of any special meeting of the Board of Directors.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 3.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>QUORUM; ACTION BY THE BOARD AND ADJOURNMENT</U>. A
majority of the entire Board shall constitute a quorum for the transaction of business unless otherwise provided herein and except that
when the number of Directors constituting the whole Board shall be an even number, one-half of that number shall constitute a quorum.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">The vote of a majority
of the Directors present at the time of the vote, if a quorum is present at such time, shall be the act of the Board, except as may be
otherwise provided herein.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">A majority of the Directors
present, whether or not a quorum is present, may adjourn any meeting to another time and place.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">Any one or more members
of the Board or any committee thereof may participate in a meeting of such Board or committee by means of a conference telephone or similar
communications equipment allowing all persons participating in the meeting to hear each other at the same time. Participation by such
means shall constitute presence in person at a meeting.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 4.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>ACTION WITHOUT A MEETING</U>. Any action required or
permitted to be taken by the Board or any committee thereof may be taken without a meeting if all members of the Board or the committee
consent in writing to the adoption of a resolution authorizing the action, and such resolution and the written consent thereto by the
members of the Board or the committee shall be filed with the minutes of the proceedings of the Board or committee.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>ARTICLE IV</B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><B><U>OFFICERS</U></B></TD><TD STYLE="text-align: center"></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 1.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>OFFICERS</U>. At the regular meeting of the Board of
Directors, the Board shall elect a Chief Executive Officer, President, Secretary and Treasurer of the Corporation and from time to time
may elect or appoint an Assistant-Secretary, Assistant-Treasurer, General Manager and such other officers as the Board shall determine.
Any two or more offices may be held by the same person, except the office of Chief Executive Officer and Secretary.</FONT></TD></TR></TABLE>

<!-- Field: Page; Sequence: 7 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->
<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 2.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>TERM OF OFFICE AND REMOVAL</U>. Each officer shall
hold office for one year and until his successor has been elected or appointed and qualified, or until the next annual election of Directors
or until such earlier removal, with or without cause.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">Any officer may be removed
by the Board with or without cause. The removal of an officer without cause shall be without prejudice to his contract rights, if any.
The election or appointment of an officer shall not of itself create contract rights.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 3.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>POWERS AND DUTIES</U>. The officers of the Corporation
shall each have such powers and authority and perform such duties in the management of the property and affairs of the Corporation as
from time to time may be prescribed by the Board of Directors and, to the extent not so prescribed, they shall each have such powers and
authority and perform such duties in the management of the affairs and property of the Corporation, subject to the control of the Board,
as generally pertain to their respective offices.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">Securities of other corporations
held by the Corporation may be voted by any officer designated by the Board and, in the absence of any such designation, by the Chief
Executive Officer, President, Secretary or Treasurer of the Corporation.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">The Board may require
any officer to give security for the faithful performance of his duties.</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 4.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>COMPENSATION</U>. The compensation of all officers
of the Corporation shall be fixed by the Board of Directors.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>ARTICLE V</B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B><U>INDEMNITY</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 0 1in; text-align: center; text-indent: -1in"><B>&nbsp;</B></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 1.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>INDEMNIFICATION</U>. To the full extent authorized
by law, the Corporation shall indemnify any person made or threatened to be made, a party to an action or proceeding, whether criminal
or civil, by reason of the fact that he, his testator or intestate is or was a Director or officer of the Corporation or serves or served
any other corporation in any capacity at the request of the Corporation.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 2.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>AGREEMENT TO INDEMNIFY</U>. The Corporation shall have
authority to enter into agreements, from time to time and as amended, with any Director or officer (each such person hereinafter referred
to as an &ldquo;Indemnitee&rdquo;) to indemnify and advance the expenses of any Indemnitee to the full extent permitted by the New York
Business Corporation Law, as the same now exists or as may hereafter be amended (&ldquo;Indemnity Agreement&rdquo;).</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt 1in; text-align: justify; text-indent: 0in">The indemnification and
advancement of expenses granted to an Indemnitee pursuant to this Article shall not be exclusive of or limiting as to any other rights
to which such Indemnitee may be entitled, when authorized by (a) a resolution of shareholders or (b) a resolution of directors, or (c)
an Indemnity Agreement. No amendment, modification, or rescission of these By-Laws shall be effective to limit any person&rsquo;s right
to indemnification with respect to any cause of action that accrues, or other incident or matter that occurs, prior to the date on which
such modification, amendment or rescission is adopted.</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>

<!-- Field: Page; Sequence: 8 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>ARTICLE VI</B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B><U>SHARE CERTIFICATES</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 1.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>FORM OF SHARE CERTIFICATES</U>. The shares of the Corporation
shall be represented by certificates, in such form as the Board of Directors may from time to time prescribe, signed by the Chief Executive
Officer and the Secretary or an Assistant-Secretary or the Treasurer or an Assistant-Treasurer, and shall be sealed with the seal of the
Corporation or facsimile thereof.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 2.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>REGISTRATION OF TRANSFERS</U>. Shares of the Corporation
shall be transferable only upon the books of the Corporation, by the persons specified by the certificate representing such shares or
by special endorsement to be entitled to such shares, or by the duly authorized attorney or legal representative of such person. </FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 3.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>DIVIDENDS</U>. The Board of Directors may declare and
pay dividends on its outstanding shares except when currently the Corporation is insolvent or would thereby be made insolvent, or when
the declaration, payment or distribution would be contrary to any restriction contained in the Certificate of Incorporation. Such dividends
shall be made out of surplus only.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 4.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>FIXING RECORD DATE</U>. For the purpose of determining
the shareholders entitled to notice of or to vote at any meeting of shareholders or any adjournment thereof, or to express consent to
or dissent from any proposal without a meeting, or for the purpose of determining shareholders entitled to receive payment of any dividend
or the allotment of any rights, or for the purpose of any other action, the Board may fix, in advance, a date as the record date for any
such determination of shareholders. Such date shall not be more than sixty (60) nor less than ten (10) days before the date of such meeting,
nor more than sixty (60) days prior to any other action.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>ARTICLE VII</B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B><U>MISCELLANEOUS PROVISIONS</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 1.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>CORPORATE SEAL</U>. The corporate seal shall have inscribed
thereon the name of the Corporation and shall be in such form as the Board of Directors may from time to time determine.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 2.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>FISCAL YEAR</U>. The fiscal year of the Corporation
shall be the twelve months ending May 31 or such other period as may be prescribed by the Board of Directors.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 3.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>CHECKS AND NOTES</U>. All checks or demands for money
and notes or other instruments evidencing indebtedness or obligations of the Corporation shall be signed by such officer or officers or
other person or persons as shall be thereunto authorized from time to time by the Board of Directors.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section 4.</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"></FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>EXCLUSIVE FORUM</U>. Unless the Corporation consents
in writing to the selection of an alternative forum, the sole and exclusive forum for (i) any derivative action or proceeding brought
on behalf of the Corporation, (ii) any action asserting a claim of breach of a fiduciary duty owed by any director or officer or other
employee of the Corporation to the Corporation or the Corporation&rsquo;s shareholders, (iii) any action asserting a claim against the
Corporation or any director or officer or other employee of the Corporation arising pursuant to any provision of the New York Business
Corporation Law or the Corporation&rsquo;s Certificate of Incorporation or By-laws (as either may be amended from time to time), or (iv)
any action asserting a claim against the Corporation or any director or officer or other employee of the Corporation governed by the internal
affairs doctrine, shall be a federal or state court located within the State of New York.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&nbsp;</P>

<!-- Field: Page; Sequence: 9 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>ARTICLE VIII</B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><B><U>AMENDMENTS</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0 0 0 1in; text-align: center; text-indent: -1in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">Section</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt">1.</FONT><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt"><U>POWER TO AMEND</U>. By-Laws of the Corporation may
be adopted, amended or repealed by the shareholders. By-Laws may also be adopted, amended or repealed by the Board of Directors subject
to being amended or repealed by the shareholders entitled to vote thereon.</FONT></TD></TR></TABLE>


<!-- Field: Page; Sequence: 10 -->
    <DIV STYLE="margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0 0 12pt; text-align: center"><B><U>APPENDIX A</U></B></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><FONT STYLE="letter-spacing: -0.15pt">Adopted: January
28, 1998</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><FONT STYLE="letter-spacing: -0.15pt"><B>TAYLOR DEVICES,
INC.</B></FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><FONT STYLE="letter-spacing: -0.15pt">____________________</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><FONT STYLE="letter-spacing: -0.15pt">PROXY REVIEW GUIDELINES</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: center"><FONT STYLE="letter-spacing: -0.15pt"><B><U>TABLE OF
CONTENTS</U></B></FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; font: 12pt Times New Roman, Times, Serif; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 22%; padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt"><U>ARTICLE</U></FONT></TD>
    <TD STYLE="width: 54%; padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt"><U>TITLE</U></FONT></TD>
    <TD STYLE="width: 24%; padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt"><U>PAGE</U></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%">&nbsp;</TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%">&nbsp;</TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">I</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">General Rules</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-1</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">II</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Guardians and Minors</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-2</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">III</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Joint Owners</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-3</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">IV</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Fiduciaries</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-3</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">V</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Banks and Trust Companies</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-4</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">VI</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Conservators or Committees</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-4</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">VII</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Receivers</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-4</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">VIII</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Pledgees and Pledgors</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-4</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">IX</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Corporations, Associations, Etc.</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-4</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">X</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Partnerships</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-5</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">XI</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Nominee Proxies</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-5</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">XII</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Broker&rsquo;s Proxies</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-6</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">XIII</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Dates and Postmarks</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-6</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">XIV</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">Conflict of Law</FONT></TD>
    <TD STYLE="padding-right: 5.4pt; padding-left: 5.4pt; layout-grid-mode: line; text-align: justify; line-height: 200%"><FONT STYLE="font-family: Arial, Helvetica, Sans-Serif; font-size: 10pt; letter-spacing: -0.15pt; line-height: 200%">A-7</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 11 -->
    <DIV STYLE="margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin: 9pt 0 0; text-align: center; background-color: white"><FONT STYLE="letter-spacing: -0.15pt"><B>PROXY
REVIEW GUIDELINES</B></FONT></P>

<P STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin: 9pt 0 0; text-align: justify; background-color: white"><FONT STYLE="letter-spacing: -0.15pt">These
guidelines are adopted to favor an interpretation giving validity to proxies and avoiding disenfranchisement of shareholders. The intent
of a shareholder, when discernible, shall prevail. In applying these guidelines, the inspectors of election shall act accordingly. Any
matter not covered herein shall be so determined as to further, where possible, the validity of shareholders&rsquo; proxies. &ldquo;Proxy&rsquo;&rsquo;
shall be deemed to include &ldquo;Power of Attorney&rsquo;&rsquo; as well as &ldquo;Proxy&rsquo;&rsquo;.</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>I.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>GENERAL RULES</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Any proxy bearing a handwritten or hand printed signature or signed
by stamped, typewritten, or facsimile signature is presumptively valid.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Any copy, facsimile, telecommunication or other reliable reproduction
of the writing or transmission in lieu of the original writing or transmission shall be presumptively valid provided that such copy, facsimile,
telecommunication or other reliable reproduction (1) is a complete reproduction of the entire original writing or transmission; and (2)
either sets forth or is submitted with information from which it can be reasonably determined by the inspectors of election that it was
authorized by the shareholders.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">&#9;1.03&#9;Proxies
may be signed in pencil.</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.04</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Changes or variations in spelling as between the registered name
of the shareholder and his indicated signature will not void the proxy, if the name as signed is phonetically similar to the name as registered.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.05</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">The addition of an address different from that appearing in the
stock register will not void the proxy.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.06</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Titles such as Mr., Mrs., Miss, or Doctor or equivalent may be added
or omitted and, even if included in the registered name, need not be included in the indicated signature.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.07</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Initials may be used for first and/or middle names, and an initial
may be added or omitted and names may be used for the first and/or middle initial. The proxy will not be voided merely because a middle
initial differs from a middle initial appearing on the stock records.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.08</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">The addition or omission of Jr. or Sr. or Roman or Arabic numerals
after the signature will not render the proxy void.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.09</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where the shareholder&rsquo;s name is signed by someone other than
the shareholder, the proxy is presumptively valid if the signer has designated his capacity as attorney, power of attorney, attorney in
fact, relative (such as parents, brother, or uncle), agent, per, by, or any abbreviation of any of the foregoing.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.10</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">All shareholders shall be presumed to have voted all the shares
registered in their respective names (although appearing in more than one account and different addresses in the same community on the
record of shareholders) which they are entitled to vote, in the absence of any indication to the contrary. A broker or nominee proxy which
does not specify or otherwise limit the proxy to a designated number of shares shall be valid for the total number of shares registered
in the name of such broker or nominee and held for its account by any depositary which has submitted an omnibus proxy.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.11</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">A power of attorney or proxy will be sufficient to confer authority
to execute another power of attorney or proxy even though it contains no power of substitution.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.12</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where shares are registered in the name of a fiduciary, even absent
a fiduciary designation as part of the signature, the proxy will be valid.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">&#9;1.13&#9;The
designation of the capacity of any signatory is acceptable in any language.</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.14</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where shares are held in the name of a shareholder, both in his
individual capacity and in some fiduciary or other representative capacity, any single proxy shall be deemed as voting the shares in all
capacities, unless otherwise indicated.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.15</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Unless otherwise indicated in the proxy, any proxy shall be deemed
to vote <U>all</U> shares of stock which the person executing the proxy is entitled to vote as record holder or otherwise.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">1.16</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where a woman signs her married name to a proxy, and the stock is
registered in her maiden name, or vice versa, the proxy will be valid. If the registered surname and the surname in the signature differ,
the inspectors of election may assume the variation is the result of change in marital status.</FONT></TD></TR></TABLE>

<!-- Field: Page; Sequence: 12 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->
<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>II.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>GUARDIANS AND MINORS</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">2.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Shares registered in the name of a guardian or custodian may be
voted by such guardian or custodian, or by the beneficial owner.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">2.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Shares registered in the name of a shareholder under the guardianship
or custodianship of a designated person may be voted either by such guardian or custodian, or by such shareholder.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>III.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>JOINT OWNERS</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">3.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Shares held by two or more persons, whether as joint tenants, tenants
in common, tenants by the entirety, members of a partnership, owners of community property, or otherwise, may be voted in person or by
proxy by any of such persons. If more than one of such persons shall vote such shares, the vote of the majority shall be binding, or if
evenly divided, then the vote shall be divided among them in proportion to the number of such persons voting in person or by proxy, even
though the name of one of the signers does not appear as a record holder.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">3.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where the surnames are identical, they need not be repeated in the
signature -- for example, a proxy in the names of ``John Jones and Mary Jones&rsquo;&rsquo; will be valid if signed ``John and Mary Jones&rsquo;&rsquo;
or ``Mr. and Mrs. John Jones&rsquo;&rsquo;.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>IV.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>FIDUCIARIES</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">4.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Shares held by an administrator, executor, guardian, committee,
curator, trustee, agent, attorney, personal representative, or other fiduciary, or by two or more persons having the same fiduciary relationship
respecting the same shares, may be voted by him or them, either in person or by proxy as provided in this Section IV without transfer
of such shares into his or their name, <U>provided that</U> evidence of such representative capacity is produced.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">4.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Assuming compliance with 4.01 above, a proxy signed by any such
person which does not indicate the name of the person for whom he is acting, even though the name of the signer does not appear on the
shareholder list on the record date, will be valid.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">4.03</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where shares are held by more than one of the persons referred to
in this Section IV, the shares shall be voted as determined by a majority of such persons, except that (1) if they be equally divided
as to a vote, the vote of the shares shall be divided equally, and (2) if only one such person shall vote, either in person or by proxy,
such vote shall be sufficient to vote all the shares.</FONT></TD></TR></TABLE>

<!-- Field: Page; Sequence: 13 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->
<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>V.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>BANKS AND TRUST COMPANIES</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">5.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where a proxy is executed by a bank or trust company, it need only
be signed in such name as registered, and when so executed, shall be deemed properly executed without supporting evidence of corporate
authority or identity of the person signing. No corporate seal, attestation, copy of by-laws, resolution conferring authority or proof
of identity is necessary. Where the name of the bank or trust company appears on the face of the proxy, failure to repeat such name as
part of the signature or to indicate the capacity of the signatory will not invalidate the proxy.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>VI.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>CONSERVATORS OR COMMITTEES</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">6.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Shares standing in the name of a conservator or committee may be
voted by such conservator or committee or by the beneficial owner, either in person or by proxy.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">6.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Shares registered in the name of a shareholder under the conservatorship
of a designated person may be voted by such conservator or by such shareholder.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">6.03</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Shares registered in the name of a shareholder, in care of a person
designated as conservator, may be voted by such conservator or by such shareholder.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>VII.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>RECEIVERS</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">7.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Shares registered in the name of a receiver may be voted by such
receiver whether or not he designates himself as such.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>VIII.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>PLEDGEES AND PLEDGORS</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">8.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">The vote of any person whose stock is pledged shall be valid unless
in the transfer by the pledgor on the books of the Corporation such person has expressly empowered the pledgee to vote thereon, in which
case only the vote of the pledgee or his proxy shall be valid.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>IX.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>CORPORATIONS, ASSOCIATIONS, ETC.</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">9.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">A proxy representing shares registered in the name of a corporation,
association, church, religious, education, charitable, fraternal or social organization, foundation, society, pension, retirement, profit
sharing or other similar plan, or group, or governmental unit, or political group is valid if it bears the handwritten, hand printed,
typed, facsimile or stamped signature of the registered holder even though the name of the person signing on behalf of the registered
holder does not appear. Proxies apparently executed in the name of any of the foregoing entities shall be valid. If the name of the shareholder
is not handwritten, hand printed, typed, in facsimile or stamped, but such proxy is so signed by an officer or other person purporting
to act in behalf of such shareholder, the proxy shall be valid. No corporate seal, attestation, or copy of by-laws or resolution conferring
authority is necessary. Where the shareholder&rsquo;s name appears on the face of the proxy, failure to repeat such name as part of the
signature will not invalidate the proxy.</FONT></TD></TR></TABLE>

<!-- Field: Page; Sequence: 14 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->
<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>X.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>PARTNERSHIPS</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">10.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where shares are registered in the name of a partnership, proxies
bearing handwritten, hand printed, typed, facsimile, or stamped signatures in the partnership name only, or signed in the partnership
name will be valid. Where the shareholder&rsquo;s name appears on the face of the proxy, failure to repeat such name as part of the signature
will not invalidate the proxy.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">10.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">A proxy representing shares in the name of an investment club and
signed either by an individual, in his own name (without designation or any title or authority), or signed with solely the name of the
investment club, is valid.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>XI.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>NOMINEE PROXIES</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">11.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">A nominee proxy may be signed in the name of the nominee as registered,
whether an individual, partnership, or corporation, without requiring the signature of an individual as a partner or as an officer. A
nominee proxy may also be signed by an individual without repeating the nominee&rsquo;s name or without indicating his capacity or source
of authority.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">11.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">A proxy signed by a nominee bearing one account number or other
identifying number or symbol will not revoke any other proxy signed by the same nominee bearing a different account number or other identifying
number or symbol.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">11.03</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where (1) the total number of shares represented by proxy submitted
by a single nominee exceeds the total of shares registered in the name of that nominee, or (2) where in the opinion of the inspectors
of election any other inconsistency or ambiguity exists with respect to the number of, or manner in which, shares are voted by a nominee,
the inspectors may, if they deem it advisable, procure such information from such nominee or otherwise as the inspectors may deem sufficient
to determine the manner in which it was intended that the shares be voted by such nominee.</FONT></TD></TR></TABLE>

<!-- Field: Page; Sequence: 15 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->
<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>XII.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>BROKER&rsquo;S PROXIES</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">12.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">All proxies received from a broker, which specify a designated number
of shares, will be counted regardless of date, provided the total number of shares represented by such proxies do not exceed the total
number of shares registered in the name of such broker or its nominees. No proxy or proxies received from a broker shall be deemed to
revoke any prior proxy or proxies unless there is specific language to that effect in addition to the printed language of the proxy form.
Any such proxy which shall, by such specific language in addition to the printed language of the proxy form, revoke any prior proxy or
proxies, shall be deemed effective only with respect to the shares voted by such proxy.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">12.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where (1) the total number of shares represented by proxies submitted
by a single broker exceeds the total number of shares registered in the name of such broker or its nominees, or (2) where in the opinion
of the inspectors of election any other inconsistency or ambiguity exists with respect to the number of, or manner in which, shares are
voted by a broker, the inspectors may, if they deem it advisable, procure such information from such broker or otherwise, as the inspectors
may deem sufficient to determine the manner in which it was intended that the shares be voted by such broker.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>XIII.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>DATES AND POSTMARKS</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">13.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">No printed proxy shall be deemed valid unless the printed form requests
(by format or direction) that the shareholder to sign and date the proxy, and a space is specifically left for the date.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">13.02</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">An undated proxy accompanied by an envelope bearing a postmark shall
be deemed to be dated as of the date of the postmark.</FONT></TD></TR></TABLE>

<!-- Field: Page; Sequence: 16 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"></DIV>
    <!-- Field: /Page -->
<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">13.03</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">An undated proxy, <U>not</U> accompanied by an envelope bearing
a postmark, shall not be valid, unless a majority of the inspectors of election agree otherwise.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">13.04</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">A dated proxy, or an undated proxy accompanied by an envelope bearing
a postmark, shall be deemed later than an undated proxy not accompanied by an envelope bearing a postmark, (if, in the latter case, such
proxy is validated).</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">13.05</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where the vote of any shareholder is in doubt because a dated proxy
with an envelope has been submitted as well as an undated proxy with an envelope, both proxies shall be deemed to be dated as of the date
of the respective envelope postmark.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">13.06</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Where proxies from the same shareholder bear the same date or are
construed under this Section XIII to bear the same date, and the vote of such shareholder is in doubt, the proxy bearing the latest postmark
date and hour on the accompanying envelope shall be deemed the later; if in such case the postmark hours are also identical they shall
be acceptable only for purposes of a quorum.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">13.07</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">If the signature on the proxy and the date on the proxy are in different
colors of ink or in ink and pencil, the proxy shall be valid only if accompanied by its postmarked envelope and the date of the postmark
shall be the date of the proxy.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">13.08</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">Assuming validity, an undated proxy received by telecommunication,
facsimile, or other reliable transmissions shall be dated the date of facsimile or transmission.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 6pt; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt"><B>XIV.</B></FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt"><B><U>CONFLICT OF LAW</U></B></FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt/200% Arial, Helvetica, Sans-Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in"><FONT STYLE="letter-spacing: -0.15pt">14.01</FONT></TD><TD STYLE="text-align: justify"><FONT STYLE="letter-spacing: -0.15pt">In case of any conflict of law with respect to the validity of proxies,
as between the law of the state in which the proxy is executed and the law of the State of New York, the law of the State of New York
shall govern, irrespective of conflict of laws.</FONT></TD></TR></TABLE>

</BODY>
</HTML>
</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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989226673392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>Dec. 29, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<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_AmendmentFlag', window );">Amendment Flag</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_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Nov. 30,  2022<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_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<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_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<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 );">Current Fiscal Year End Date</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_EntityFileNumber', window );">Entity 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_EntityCentralIndexKey', window );">Entity Central Index Key</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_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_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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">North Tonawanda<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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">14120<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_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="ro">
<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="re">
<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="ro">
<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<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_EntityShellCompany', window );">Entity Shell 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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,502,546<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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_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>
</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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989220755920">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>May 31, 2022</div></th>
<th class="th"><div>Nov. 30, 2021</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>
<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">$ 21,013,144<span></span>
</td>
<td class="nump">$ 22,517,038<span></span>
</td>
<td class="nump">$ 18,648,084<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">1,097,450<span></span>
</td>
<td class="nump">1,097,450<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_AccountsAndOtherReceivablesNetCurrent', window );">Accounts and other receivables, net</a></td>
<td class="nump">5,940,731<span></span>
</td>
<td class="nump">4,466,686<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_InventoryPartsAndComponentsNetOfReserves', window );">Inventory</a></td>
<td class="nump">5,596,046<span></span>
</td>
<td class="nump">5,854,935<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_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms', window );">Costs and estimated earnings in excess of billings</a></td>
<td class="nump">5,295,376<span></span>
</td>
<td class="nump">3,336,474<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_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">890,506<span></span>
</td>
<td class="nump">704,436<span></span>
</td>
<td class="text">&#160;<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">39,833,253<span></span>
</td>
<td class="nump">37,977,019<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_OtherInventoryNoncurrent', window );">Maintenance and other inventory, net</a></td>
<td class="nump">972,282<span></span>
</td>
<td class="nump">1,107,309<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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">10,610,010<span></span>
</td>
<td class="nump">9,854,759<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_OtherAssetsMiscellaneousNoncurrent', window );">Other assets</a></td>
<td class="nump">207,879<span></span>
</td>
<td class="nump">205,359<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_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes</a></td>
<td class="nump">74,615<span></span>
</td>
<td class="nump">74,615<span></span>
</td>
<td class="text">&#160;<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_Assets', window );">Total assets</a></td>
<td class="nump">51,698,039<span></span>
</td>
<td class="nump">49,219,061<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_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></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="re">
<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">1,537,181<span></span>
</td>
<td class="nump">1,426,830<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_BillingsInExcessOfCostCurrent', window );">Billings in excess of costs and estimated earnings</a></td>
<td class="nump">1,089,884<span></span>
</td>
<td class="nump">1,122,763<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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">3,087,615<span></span>
</td>
<td class="nump">3,414,314<span></span>
</td>
<td class="text">&#160;<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_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">5,714,680<span></span>
</td>
<td class="nump">5,963,907<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_StockholdersEquityAbstract', window );"><strong>Stockholders' Equity:</strong></a></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_AdditionalPaidInCapitalCommonStock', window );">Common stock and additional paid-in capital</a></td>
<td class="nump">10,495,584<span></span>
</td>
<td class="nump">10,329,258<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_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">38,402,777<span></span>
</td>
<td class="nump">35,840,898<span></span>
</td>
<td class="text">&#160;<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_StockholdersEquityBeforeTreasuryStock', window );">Stockholders&#8217; equity before treasury stock</a></td>
<td class="nump">48,898,361<span></span>
</td>
<td class="nump">46,170,156<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_TreasuryStockValue', window );">Treasury stock - at cost</a></td>
<td class="num">(2,915,002)<span></span>
</td>
<td class="num">(2,915,002)<span></span>
</td>
<td class="num">(2,915,002)<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&#8217; equity</a></td>
<td class="nump">45,983,359<span></span>
</td>
<td class="nump">43,255,154<span></span>
</td>
<td class="nump">$ 41,773,752<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 );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 51,698,039<span></span>
</td>
<td class="nump">$ 49,219,061<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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(c)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126938201&amp;loc=d3e55302-109406<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(c)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(c)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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_OtherLiabilitiesCurrent">
<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 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>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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_OtherLiabilitiesCurrent</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<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>The cumulative amount of the reporting entity's undistributed earnings or deficit.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(g))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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_StockholdersEquityBeforeTreasuryStock">
<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 amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock.</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_StockholdersEquityBeforeTreasuryStock</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989220665024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Income - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>Nov. 30, 2021</div></th>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>Nov. 30, 2021</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>Income Statement [Abstract]</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">$ 10,497,366<span></span>
</td>
<td class="nump">$ 7,757,986<span></span>
</td>
<td class="nump">$ 19,588,065<span></span>
</td>
<td class="nump">$ 15,065,723<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,403,541<span></span>
</td>
<td class="nump">5,167,463<span></span>
</td>
<td class="nump">12,109,483<span></span>
</td>
<td class="nump">10,603,021<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 );">&#160;&#160;&#160;&#160;&#160;Gross profit</a></td>
<td class="nump">4,093,825<span></span>
</td>
<td class="nump">2,590,523<span></span>
</td>
<td class="nump">7,478,582<span></span>
</td>
<td class="nump">4,462,702<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">315,301<span></span>
</td>
<td class="nump">201,277<span></span>
</td>
<td class="nump">690,647<span></span>
</td>
<td class="nump">483,217<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,022,061<span></span>
</td>
<td class="nump">1,608,860<span></span>
</td>
<td class="nump">3,853,099<span></span>
</td>
<td class="nump">3,080,959<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 );">&#160;&#160;&#160;&#160;&#160;Operating income</a></td>
<td class="nump">1,756,463<span></span>
</td>
<td class="nump">780,386<span></span>
</td>
<td class="nump">2,934,836<span></span>
</td>
<td class="nump">898,526<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">153,045<span></span>
</td>
<td class="nump">7,418<span></span>
</td>
<td class="nump">193,043<span></span>
</td>
<td class="nump">71,155<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 );">&#160;&#160;&#160;&#160;&#160;Income before provision for income taxes</a></td>
<td class="nump">1,909,508<span></span>
</td>
<td class="nump">787,804<span></span>
</td>
<td class="nump">3,127,879<span></span>
</td>
<td class="nump">969,681<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">350,000<span></span>
</td>
<td class="nump">128,000<span></span>
</td>
<td class="nump">566,000<span></span>
</td>
<td class="nump">128,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 );">&#160;&#160;&#160;&#160;&#160;Net income</a></td>
<td class="nump">$ 1,559,508<span></span>
</td>
<td class="nump">$ 659,804<span></span>
</td>
<td class="nump">$ 2,561,879<span></span>
</td>
<td class="nump">$ 841,681<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.45<span></span>
</td>
<td class="nump">$ 0.19<span></span>
</td>
<td class="nump">$ 0.73<span></span>
</td>
<td class="nump">$ 0.24<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989216565536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders Equity - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</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_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">$ 101,305<span></span>
</td>
<td class="nump">$ 10,010,430<span></span>
</td>
<td class="nump">$ 33,601,475<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 );">Stockholders' Equity Attributable to Parent, Beginning Balance at May. 31, 2021</a></td>
<td class="nump">101,305<span></span>
</td>
<td class="nump">10,010,430<span></span>
</td>
<td class="nump">33,601,475<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 );">Stock Issued During Period, Value, Employee Stock Purchase Plan</a></td>
<td class="nump">18<span></span>
</td>
<td class="nump">8,081<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 );">Stock Issued During Period, Value, Employee Benefit Plan</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition', window );">APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">125,764<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 (Loss) Attributable to Parent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">841,681<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 );">Stockholders' Equity Attributable to Parent, Ending Balance at Nov. 30, 2021</a></td>
<td class="nump">101,323<span></span>
</td>
<td class="nump">10,144,275<span></span>
</td>
<td class="nump">34,443,156<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_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">101,313<span></span>
</td>
<td class="nump">10,014,255<span></span>
</td>
<td class="nump">33,783,352<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 );">Stockholders' Equity Attributable to Parent, Beginning Balance at Aug. 31, 2021</a></td>
<td class="nump">101,313<span></span>
</td>
<td class="nump">10,014,255<span></span>
</td>
<td class="nump">33,783,352<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 );">Stock Issued During Period, Value, Employee Stock Purchase Plan</a></td>
<td class="nump">10<span></span>
</td>
<td class="nump">4,256<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 );">Stock Issued During Period, Value, Employee Benefit Plan</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition', window );">APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">125,764<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 (Loss) Attributable to Parent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">659,804<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 );">Stockholders' Equity Attributable to Parent, Ending Balance at Nov. 30, 2021</a></td>
<td class="nump">101,323<span></span>
</td>
<td class="nump">10,144,275<span></span>
</td>
<td class="nump">34,443,156<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_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">101,323<span></span>
</td>
<td class="nump">10,144,275<span></span>
</td>
<td class="nump">34,443,156<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_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></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>
</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 );">Stockholders' Equity Attributable to Parent, Beginning Balance at May. 31, 2022</a></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>
</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 );">Stock Issued During Period, Value, Employee Stock Purchase Plan</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">5,654<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 );">Stock Issued During Period, Value, Employee Benefit Plan</a></td>
<td class="nump">100<span></span>
</td>
<td class="nump">32,120<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_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition', window );">APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,437<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 (Loss) Attributable to Parent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,561,879<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 );">Stockholders' Equity Attributable to Parent, Ending Balance at Nov. 30, 2022</a></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>
</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_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">101,451<span></span>
</td>
<td class="nump">10,263,098<span></span>
</td>
<td class="nump">36,843,269<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 );">Stockholders' Equity Attributable to Parent, Beginning Balance at Aug. 31, 2022</a></td>
<td class="nump">101,451<span></span>
</td>
<td class="nump">10,263,098<span></span>
</td>
<td class="nump">36,843,269<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 );">Stock Issued During Period, Value, Employee Stock Purchase Plan</a></td>
<td class="nump">6<span></span>
</td>
<td class="nump">2,592<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 );">Stock Issued During Period, Value, Employee Benefit Plan</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition', window );">APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,437<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 (Loss) Attributable to Parent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,559,508<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 );">Stockholders' Equity Attributable to Parent, Ending Balance at Nov. 30, 2022</a></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>
</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_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></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>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition">
<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 to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement.</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_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition</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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<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_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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989227852928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>Nov. 30, 2021</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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract', 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">$ 2,561,879<span></span>
</td>
<td class="nump">$ 841,681<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 );">&#160;&#160;&#160;Depreciation</a></td>
<td class="nump">635,580<span></span>
</td>
<td class="nump">637,363<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_StockOptionPlanExpense', window );">&#160;&#160;&#160;Stock options issued for services</a></td>
<td class="nump">128,437<span></span>
</td>
<td class="nump">125,764<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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>&#160;&#160;&#160;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="re">
<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 );">&#160;&#160;&#160;&#160;&#160;&#160;Accounts and other receivables, net</a></td>
<td class="num">(1,474,045)<span></span>
</td>
<td class="num">(189,316)<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_IncreaseDecreaseInInventories', window );">&#160;&#160;&#160;&#160;&#160;&#160;Inventory</a></td>
<td class="nump">393,916<span></span>
</td>
<td class="nump">88,563<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_IncreaseDecreaseInUnbilledReceivables', window );">&#160;&#160;&#160;&#160;&#160;&#160;Costs and estimated earnings in excess of billings</a></td>
<td class="num">(1,958,902)<span></span>
</td>
<td class="num">(2,385,172)<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_IncreaseDecreaseInOtherCurrentAssets', window );">&#160;&#160;&#160;&#160;&#160;&#160;Other current assets</a></td>
<td class="num">(186,070)<span></span>
</td>
<td class="nump">354,898<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_IncreaseDecreaseInAccountsPayableTrade', window );">&#160;&#160;&#160;&#160;&#160;&#160;Accounts payable</a></td>
<td class="nump">110,351<span></span>
</td>
<td class="num">(284,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_IncreaseDecreaseInBillingInExcessOfCostOfEarnings', window );">&#160;&#160;&#160;&#160;&#160;&#160;Billings in excess of costs and estimated earnings</a></td>
<td class="num">(32,879)<span></span>
</td>
<td class="num">(645,498)<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 );">&#160;&#160;&#160;&#160;&#160;&#160;Other current liabilities</a></td>
<td class="num">(326,699)<span></span>
</td>
<td class="nump">82,114<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 );">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net operating activities</a></td>
<td class="num">(148,432)<span></span>
</td>
<td class="num">(1,374,211)<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_AdditionalCashFlowElementsInvestingActivitiesAbstract', 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 );">&#160;&#160;&#160;Acquisition of property and equipment</a></td>
<td class="num">(1,390,831)<span></span>
</td>
<td class="num">(560,159)<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_PaymentsForProceedsFromOtherInvestingActivities', window );">&#160;&#160;&#160;Other investing activities</a></td>
<td class="num">(2,520)<span></span>
</td>
<td class="num">(7,249)<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_NetCashProvidedByUsedInInvestingActivities', window );">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net investing activities</a></td>
<td class="num">(1,393,351)<span></span>
</td>
<td class="num">(567,408)<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_AdditionalCashFlowElementsFinancingActivitiesAbstract', window );"><strong>Financing 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_ProceedsFromIssuanceOfCommonStock', window );">&#160;&#160;&#160;Proceeds from issuance of common stock, net</a></td>
<td class="nump">37,889<span></span>
</td>
<td class="nump">8,099<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net change in cash and cash equivalents</a></td>
<td class="num">(1,503,894)<span></span>
</td>
<td class="num">(1,933,520)<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 - beginning</a></td>
<td class="nump">22,517,038<span></span>
</td>
<td class="nump">20,581,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_CashAndCashEquivalentsAtCarryingValue', window );">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Cash and cash equivalents - ending</a></td>
<td class="nump">$ 21,013,144<span></span>
</td>
<td class="nump">$ 18,648,084<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_AdditionalCashFlowElementsFinancingActivitiesAbstract">
<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_AdditionalCashFlowElementsFinancingActivitiesAbstract</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_AdditionalCashFlowElementsInvestingActivitiesAbstract">
<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_AdditionalCashFlowElementsInvestingActivitiesAbstract</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_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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract">
<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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract</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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<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_StockOptionPlanExpense">
<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 noncash expense for option under share-based payment arrangement.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<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_StockOptionPlanExpense</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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989222070256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Notes to Condensed Consolidated Financial Statements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Nov. 30, 2022</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CondensedFinancialStatementsTextBlock', window );">Notes to Condensed Consolidated Financial Statements</a></td>
<td class="text"><p id="xdx_807_esrt--CondensedFinancialStatementsTextBlock_zRcf7l6fBDc5" style="font: bold 10pt Times New Roman, Times, Serif; color: navy; margin: 0"><b><span id="NotesToFinancialStatements"/>Notes to Condensed Consolidated Financial Statements</b></p>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</span></td><td style="text-align: justify"><span style="font-size: 10pt">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 of 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 November 30, 2022 and May 31, 2022, the results of operations for the three and six months
ended November 30, 2022 and 2021, and cash flows for the six months ended November 30, 2022 and 2021. 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, 2022. </span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</span></td><td style="text-align: justify"><span style="font-size: 10pt">The Company has evaluated events and transactions for potential recognition
or disclosure in the financial statements through the date the financial statements were issued.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</span></td><td style="text-align: justify"><span style="font-size: 10pt">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.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</span></td><td style="text-align: justify"><span style="font-size: 10pt">For the six-month periods ended November 30, 2022 and 2021, the net income
was divided by <span id="xdx_90F_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20220601__20221130_z7D0hHon7Kq9">3,500,172</span> and <span id="xdx_907_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20210601__20211130_zL10yBLQgbvg">3,496,697</span> respectively, which is net of the Treasury shares, to calculate the net income per share. For the
three-month periods ended November 30, 2022 and 2021, the net income was divided by <span id="xdx_909_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20220901__20221130_z6SKMFqTU3gb">3,499,598</span> and <span id="xdx_906_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20210901__20211130_zv1gW9B9CuP9">3,496,610</span> respectively, which is net
of the Treasury shares, to calculate the net income per share.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</span></td><td style="text-align: justify"><span style="font-size: 10pt">The results of operations for the three and six-month periods ended November
30, 2022 are not necessarily indicative of the results to be expected for the full year.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Recently issued Financial Accounting Standards Board (FASB) Accounting Standards
Codification (ASC) guidance has either been implemented or is not significant to the Company.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Inventory: </span></td></tr></table>

<table cellpadding="0" cellspacing="0" id="xdx_882_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zdkTyuKNh0o9" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto" summary="xdx: Disclosure - Inventory (Details)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_493_20221130_zsvv31b5Bbnl" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_491_20220531_zt8RmkVZO0Wi" style="font-size: 12pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryRawMaterials_iI_maIGzbjn_zopkLze2skv4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Raw materials</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">575,415</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">488,393</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--InventoryWorkInProcess_iI_maIGzbjn_zCNUADptenZg" style="vertical-align: bottom; background-color: White">
    <td>Work-in-process</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,900,432</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,166,271</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InventoryFinishedGoods_iI_maIGzbjn_zgexSVfrO3Fj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Finished goods</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">220,199</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">300,271</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--InventoryGross_iTI_mtIGzbjn_maINz7oH_zWBmZOMthH2d" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><b style="display: none">Gross inventory</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,696,046</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,954,935</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--InventoryValuationReserves_iI_msINz7oH_zNS694yzzy33" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less allowance for obsolescence</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--InventoryNet_iTI_mtINz7oH_zxulPAzTxRMk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Net inventory</b></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">5,596,046</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">5,854,935</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Revenue Recognition:</span></td></tr></table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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 six months ended November 30,
2022, 61% of revenue was recorded for contracts in which revenue was recognized over time while 39% was recognized at a point in time.
In the six months ended November 30, 2021, 67% of revenue was recorded for contracts in which revenue was recognized over time while 33%
was recognized at a point in time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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, Times, Serif; margin: 0 0 12pt; 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 November 30, 2022 and May 31, 2022, 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>

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.</span></td><td style="text-align: justify"><span style="font-size: 10pt">The November 30, 2021 statement of income has been reclassified to conform
with the presentation adopted for November 30, 2022.</span></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Other current liabilities: </span></td></tr></table>

<table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZsvDMQshM0l" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto" summary="xdx: Disclosure - Other accrued expenses table (Details)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_490_20221130_zIWSxOvqw7Ic" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_497_20220531_z6miOeqyIdk4" style="font-size: 12pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr id="xdx_400_eus-gaap--CustomerDepositsCurrent_iI_maALAOLzc6I_zthHQmAjDtIh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Customer deposits</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">954,262</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">1,347,709</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_iI_maALAOLzc6I_zVTq3XHqLIjd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Personnel costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,579,679</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,587,271</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherAccountsPayableAndAccruedLiabilities_iI_maALAOLzc6I_zcIs8etKQVPd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">553,674</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">479,334</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_mtALAOLzc6I_zqr6oNRQ2H43" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other current liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,087,615</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,414,314</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<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> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Paragraph a<br> -Subsection 04<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989227025792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Notes to Condensed Consolidated Financial Statements (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Nov. 30, 2022</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventory</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_882_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zdkTyuKNh0o9" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto" summary="xdx: Disclosure - Inventory (Details)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_493_20221130_zsvv31b5Bbnl" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_491_20220531_zt8RmkVZO0Wi" style="font-size: 12pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryRawMaterials_iI_maIGzbjn_zopkLze2skv4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Raw materials</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">575,415</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">488,393</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--InventoryWorkInProcess_iI_maIGzbjn_zCNUADptenZg" style="vertical-align: bottom; background-color: White">
    <td>Work-in-process</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,900,432</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,166,271</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InventoryFinishedGoods_iI_maIGzbjn_zgexSVfrO3Fj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Finished goods</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">220,199</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">300,271</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--InventoryGross_iTI_mtIGzbjn_maINz7oH_zWBmZOMthH2d" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><b style="display: none">Gross inventory</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,696,046</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,954,935</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--InventoryValuationReserves_iI_msINz7oH_zNS694yzzy33" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less allowance for obsolescence</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--InventoryNet_iTI_mtINz7oH_zxulPAzTxRMk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Net inventory</b></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">5,596,046</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">5,854,935</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table><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_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Other accrued expenses table</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZsvDMQshM0l" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto" summary="xdx: Disclosure - Other accrued expenses table (Details)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_490_20221130_zIWSxOvqw7Ic" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_497_20220531_z6miOeqyIdk4" style="font-size: 12pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">November 30, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2022</td></tr>
  <tr id="xdx_400_eus-gaap--CustomerDepositsCurrent_iI_maALAOLzc6I_zthHQmAjDtIh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Customer deposits</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">954,262</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">1,347,709</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_iI_maALAOLzc6I_zVTq3XHqLIjd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Personnel costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,579,679</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,587,271</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherAccountsPayableAndAccruedLiabilities_iI_maALAOLzc6I_zcIs8etKQVPd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">553,674</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">479,334</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_mtALAOLzc6I_zqr6oNRQ2H43" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other current liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,087,615</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,414,314</td><td style="padding-bottom: 1pt; text-align: left">&#160;</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</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_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<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>
</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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989220761312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventory (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>May 31, 2022</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</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">$ 575,415<span></span>
</td>
<td class="nump">$ 488,393<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">4,900,432<span></span>
</td>
<td class="nump">5,166,271<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">220,199<span></span>
</td>
<td class="nump">300,271<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 );">Gross inventory</a></td>
<td class="nump">5,696,046<span></span>
</td>
<td class="nump">5,954,935<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">100,000<span></span>
</td>
<td class="nump">100,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 );">Net inventory</a></td>
<td class="nump">$ 5,596,046<span></span>
</td>
<td class="nump">$ 5,854,935<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989216413232">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Other accrued expenses table (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>May 31, 2022</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</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">$ 954,262<span></span>
</td>
<td class="nump">$ 1,347,709<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">1,579,679<span></span>
</td>
<td class="nump">1,587,271<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">553,674<span></span>
</td>
<td class="nump">479,334<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_AccruedLiabilitiesAndOtherLiabilities', window );">Other current liabilities</a></td>
<td class="nump">$ 3,087,615<span></span>
</td>
<td class="nump">$ 3,414,314<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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.15(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<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>
</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.22.4</span><table class="report" border="0" cellspacing="2" id="idm139989216412624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Notes to Condensed Consolidated Financial Statements (Details Narrative) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>Nov. 30, 2021</div></th>
<th class="th"><div>Nov. 30, 2022</div></th>
<th class="th"><div>Nov. 30, 2021</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted Average Number of Shares Outstanding, Basic</a></td>
<td class="nump">3,499,598<span></span>
</td>
<td class="nump">3,496,610<span></span>
</td>
<td class="nump">3,500,172<span></span>
</td>
<td class="nump">3,496,697<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</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_WeightedAverageNumberOfSharesOutstandingBasic">
<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>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<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_WeightedAverageNumberOfSharesOutstandingBasic</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:sharesItemType</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>22
<FILENAME>tdi10qfy23q2_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/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tayd-20221130.xsd" xlink:type="simple"/>
    <context id="From2022-09-01to2022-11-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2022-09-01</startDate>
            <endDate>2022-11-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2022-12-29</instant>
        </period>
    </context>
    <context id="AsOf2022-11-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="AsOf2022-05-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="From2021-09-012021-11-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="From2022-06-012022-11-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-11-30</endDate>
        </period>
    </context>
    <context id="From2021-06-012021-11-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2021-06-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-08-31_us-gaap_CommonStockMember">
        <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-08-31</instant>
        </period>
    </context>
    <context id="AsOf2021-08-31_us-gaap_CommonStockMember">
        <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>2021-08-31</instant>
        </period>
    </context>
    <context id="AsOf2022-05-31_us-gaap_CommonStockMember">
        <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="AsOf2021-05-31_us-gaap_CommonStockMember">
        <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>2021-05-31</instant>
        </period>
    </context>
    <context id="AsOf2022-08-31_us-gaap_AdditionalPaidInCapitalMember">
        <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-08-31</instant>
        </period>
    </context>
    <context id="AsOf2021-08-31_us-gaap_AdditionalPaidInCapitalMember">
        <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>2021-08-31</instant>
        </period>
    </context>
    <context id="AsOf2022-05-31_us-gaap_AdditionalPaidInCapitalMember">
        <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="AsOf2021-05-31_us-gaap_AdditionalPaidInCapitalMember">
        <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>2021-05-31</instant>
        </period>
    </context>
    <context id="AsOf2022-08-31_us-gaap_RetainedEarningsMember">
        <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-08-31</instant>
        </period>
    </context>
    <context id="AsOf2021-08-31_us-gaap_RetainedEarningsMember">
        <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>2021-08-31</instant>
        </period>
    </context>
    <context id="AsOf2022-05-31_us-gaap_RetainedEarningsMember">
        <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="AsOf2021-05-31_us-gaap_RetainedEarningsMember">
        <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>2021-05-31</instant>
        </period>
    </context>
    <context id="From2022-09-012022-11-30_us-gaap_CommonStockMember">
        <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-09-01</startDate>
            <endDate>2022-11-30</endDate>
        </period>
    </context>
    <context id="From2021-09-012021-11-30_us-gaap_CommonStockMember">
        <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>2021-09-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="From2022-06-012022-11-30_us-gaap_CommonStockMember">
        <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>2022-11-30</endDate>
        </period>
    </context>
    <context id="From2021-06-012021-11-30_us-gaap_CommonStockMember">
        <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>2021-06-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="From2022-09-012022-11-30_us-gaap_AdditionalPaidInCapitalMember">
        <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-09-01</startDate>
            <endDate>2022-11-30</endDate>
        </period>
    </context>
    <context id="From2021-09-012021-11-30_us-gaap_AdditionalPaidInCapitalMember">
        <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>2021-09-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="From2022-06-012022-11-30_us-gaap_AdditionalPaidInCapitalMember">
        <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>2022-11-30</endDate>
        </period>
    </context>
    <context id="From2021-06-012021-11-30_us-gaap_AdditionalPaidInCapitalMember">
        <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>2021-06-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="From2022-09-012022-11-30_us-gaap_RetainedEarningsMember">
        <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-09-01</startDate>
            <endDate>2022-11-30</endDate>
        </period>
    </context>
    <context id="From2021-09-012021-11-30_us-gaap_RetainedEarningsMember">
        <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>2021-09-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="From2022-06-012022-11-30_us-gaap_RetainedEarningsMember">
        <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>2022-11-30</endDate>
        </period>
    </context>
    <context id="From2021-06-012021-11-30_us-gaap_RetainedEarningsMember">
        <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>2021-06-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-11-30_us-gaap_CommonStockMember">
        <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="AsOf2021-11-30_us-gaap_CommonStockMember">
        <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>2021-11-30</instant>
        </period>
    </context>
    <context id="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember">
        <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="AsOf2021-11-30_us-gaap_AdditionalPaidInCapitalMember">
        <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>2021-11-30</instant>
        </period>
    </context>
    <context id="AsOf2022-11-30_us-gaap_RetainedEarningsMember">
        <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="AsOf2021-11-30_us-gaap_RetainedEarningsMember">
        <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>2021-11-30</instant>
        </period>
    </context>
    <context id="AsOf2021-11-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2021-11-30</instant>
        </period>
    </context>
    <context id="AsOf2021-05-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2021-05-31</instant>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="From2022-09-01to2022-11-30">0000096536</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2022-09-01to2022-11-30">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2022-09-01to2022-11-30">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="From2022-09-01to2022-11-30">2023</dei:DocumentFiscalYearFocus>
    <dei:CurrentFiscalYearEndDate contextRef="From2022-09-01to2022-11-30">--05-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentType contextRef="From2022-09-01to2022-11-30">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2022-09-01to2022-11-30">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2022-09-01to2022-11-30">2022-11-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="From2022-09-01to2022-11-30">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2022-09-01to2022-11-30">0-3498</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2022-09-01to2022-11-30">TAYLOR DEVICES INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2022-09-01to2022-11-30">NY</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2022-09-01to2022-11-30">16-0797789</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2022-09-01to2022-11-30">90 Taylor Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2022-09-01to2022-11-30">North Tonawanda</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2022-09-01to2022-11-30">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2022-09-01to2022-11-30">14120</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2022-09-01to2022-11-30">716</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2022-09-01to2022-11-30">694-0800</dei:LocalPhoneNumber>
    <dei:EntityCurrentReportingStatus contextRef="From2022-09-01to2022-11-30">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2022-09-01to2022-11-30">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2022-09-01to2022-11-30">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2022-09-01to2022-11-30">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2022-09-01to2022-11-30">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2022-09-01to2022-11-30">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="AsOf2022-12-29" decimals="INF" unitRef="Shares">3502546</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">21013144</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">22517038</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">1097450</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">1097450</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">5940731</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">4466686</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:InventoryPartsAndComponentsNetOfReserves contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">5596046</us-gaap:InventoryPartsAndComponentsNetOfReserves>
    <us-gaap:InventoryPartsAndComponentsNetOfReserves contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">5854935</us-gaap:InventoryPartsAndComponentsNetOfReserves>
    <us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">5295376</us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms>
    <us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">3336474</us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms>
    <us-gaap:OtherAssetsCurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">890506</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">704436</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">39833253</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">37977019</us-gaap:AssetsCurrent>
    <us-gaap:OtherInventoryNoncurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">972282</us-gaap:OtherInventoryNoncurrent>
    <us-gaap:OtherInventoryNoncurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">1107309</us-gaap:OtherInventoryNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">10610010</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">9854759</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">207879</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">205359</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">74615</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">74615</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Assets contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">51698039</us-gaap:Assets>
    <us-gaap:Assets contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">49219061</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">1537181</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">1426830</us-gaap:AccountsPayableCurrent>
    <us-gaap:BillingsInExcessOfCostCurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">1089884</us-gaap:BillingsInExcessOfCostCurrent>
    <us-gaap:BillingsInExcessOfCostCurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">1122763</us-gaap:BillingsInExcessOfCostCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">3087615</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">3414314</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">5714680</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">5963907</us-gaap:LiabilitiesCurrent>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">10495584</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">10329258</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">38402777</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">35840898</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityBeforeTreasuryStock contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">48898361</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:StockholdersEquityBeforeTreasuryStock contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">46170156</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:TreasuryStockValue contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">2915002</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">2915002</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">45983359</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">43255154</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">51698039</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">49219061</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">10497366</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">7757986</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">19588065</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">15065723</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">6403541</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">5167463</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">12109483</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">10603021</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">4093825</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">2590523</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">7478582</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">4462702</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">315301</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">201277</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">690647</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">483217</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">2022061</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">1608860</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">3853099</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">3080959</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">1756463</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">780386</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">2934836</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">898526</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">153045</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">7418</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">193043</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">71155</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">1909508</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">787804</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">3127879</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">969681</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">350000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">128000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">566000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">128000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-09-01to2022-11-30"
      decimals="0"
      unitRef="USD">1559508</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-09-012021-11-30"
      decimals="0"
      unitRef="USD">659804</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">2561879</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">841681</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-09-01to2022-11-30"
      decimals="INF"
      unitRef="USDPShares">0.45</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2021-09-012021-11-30"
      decimals="INF"
      unitRef="USDPShares">0.19</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-06-012022-11-30"
      decimals="INF"
      unitRef="USDPShares">0.73</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2021-06-012021-11-30"
      decimals="INF"
      unitRef="USDPShares">0.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-08-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101451</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-08-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101313</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-05-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101342</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-05-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101305</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2022-09-012022-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">6</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2021-09-012021-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">10</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2022-06-012022-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">15</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2021-06-012021-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">18</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2022-09-012022-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2021-09-012021-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2022-06-012022-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">100</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2021-06-012021-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101457</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101323</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101457</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101323</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-08-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10263098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-08-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10014255</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-05-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10227916</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-05-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10010430</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2022-09-012022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">2592</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2021-09-012021-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">4256</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2022-06-012022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">5654</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2021-06-012021-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">8081</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2022-09-012022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2021-09-012021-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2022-06-012022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">32120</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2021-06-012021-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="From2022-09-012022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">128437</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="From2021-09-012021-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">125764</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="From2022-06-012022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">128437</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="From2021-06-012021-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">125764</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10394127</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10144275</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10394127</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10144275</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-08-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">36843269</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-08-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">33783352</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-05-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">35840898</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-05-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">33601475</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-09-012022-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1559508</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-09-012021-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">659804</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-012022-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">2561879</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-06-012021-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">841681</us-gaap:NetIncomeLoss>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">38402777</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">34443156</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">38402777</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">34443156</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockValue contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">2915002</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="AsOf2021-11-30" decimals="0" unitRef="USD">2915002</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">2915002</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="AsOf2021-11-30" decimals="0" unitRef="USD">2915002</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">45983359</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-11-30" decimals="0" unitRef="USD">41773752</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">45983359</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-11-30" decimals="0" unitRef="USD">41773752</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">2561879</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">841681</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">635580</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">637363</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">128437</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">125764</us-gaap:StockOptionPlanExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">1474045</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">189316</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">-393916</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">-88563</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInUnbilledReceivables
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">1958902</us-gaap:IncreaseDecreaseInUnbilledReceivables>
    <us-gaap:IncreaseDecreaseInUnbilledReceivables
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">2385172</us-gaap:IncreaseDecreaseInUnbilledReceivables>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">186070</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">-354898</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">110351</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">-284608</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">-32879</us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings>
    <us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">-645498</us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">-326699</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">82114</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">-148432</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">-1374211</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">1390831</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">560159</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">2520</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">7249</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">-1393351</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">-567408</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">37889</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">8099</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2022-06-012022-11-30"
      decimals="0"
      unitRef="USD">-1503894</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2021-06-012021-11-30"
      decimals="0"
      unitRef="USD">-1933520</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">22517038</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2021-05-31" decimals="0" unitRef="USD">20581604</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">21013144</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2021-11-30" decimals="0" unitRef="USD">18648084</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <srt:CondensedFinancialStatementsTextBlock contextRef="From2022-09-01to2022-11-30">&lt;p id="xdx_807_esrt--CondensedFinancialStatementsTextBlock_zRcf7l6fBDc5" style="font: bold 10pt Times New Roman, Times, Serif; color: navy; margin: 0"&gt;&lt;b&gt;&lt;span id="NotesToFinancialStatements"/&gt;Notes to Condensed Consolidated Financial Statements&lt;/b&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&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 of 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 November 30, 2022 and May 31, 2022, the results of operations for the three and six months
ended November 30, 2022 and 2021, and cash flows for the six months ended November 30, 2022 and 2021. 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, 2022. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&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.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&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.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;For the six-month periods ended November 30, 2022 and 2021, the net income
was divided by &lt;span id="xdx_90F_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20220601__20221130_z7D0hHon7Kq9"&gt;3,500,172&lt;/span&gt; and &lt;span id="xdx_907_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20210601__20211130_zL10yBLQgbvg"&gt;3,496,697&lt;/span&gt; respectively, which is net of the Treasury shares, to calculate the net income per share. For the
three-month periods ended November 30, 2022 and 2021, the net income was divided by &lt;span id="xdx_909_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20220901__20221130_z6SKMFqTU3gb"&gt;3,499,598&lt;/span&gt; and &lt;span id="xdx_906_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20210901__20211130_zv1gW9B9CuP9"&gt;3,496,610&lt;/span&gt; respectively, which is net
of the Treasury shares, to calculate the net income per share.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;The results of operations for the three and six-month periods ended November
30, 2022 are not necessarily indicative of the results to be expected for the full year.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Recently issued Financial Accounting Standards Board (FASB) Accounting Standards
Codification (ASC) guidance has either been implemented or is not significant to the Company.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;7.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Inventory: &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_882_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zdkTyuKNh0o9" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto" summary="xdx: Disclosure - Inventory (Details)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_493_20221130_zsvv31b5Bbnl" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_491_20220531_zt8RmkVZO0Wi" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"&gt;November 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"&gt;May 31, 2022&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--InventoryRawMaterials_iI_maIGzbjn_zopkLze2skv4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Raw materials&lt;/td&gt;&lt;td style="width: 8%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;575,415&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;488,393&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--InventoryWorkInProcess_iI_maIGzbjn_zCNUADptenZg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Work-in-process&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,900,432&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,166,271&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InventoryFinishedGoods_iI_maIGzbjn_zgexSVfrO3Fj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Finished goods&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;220,199&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;300,271&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--InventoryGross_iTI_mtIGzbjn_maINz7oH_zWBmZOMthH2d" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;b style="display: none"&gt;Gross inventory&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,696,046&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,954,935&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--InventoryValuationReserves_iI_msINz7oH_zNS694yzzy33" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less allowance for obsolescence&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;100,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;100,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--InventoryNet_iTI_mtINz7oH_zxulPAzTxRMk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;&lt;b style="display: none"&gt;Net inventory&lt;/b&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,596,046&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,854,935&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;8.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Revenue Recognition:&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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, Times, Serif; margin: 0 0 12pt; 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, Times, Serif; margin: 0 0 12pt; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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 six months ended November 30,
2022, 61% of revenue was recorded for contracts in which revenue was recognized over time while 39% was recognized at a point in time.
In the six months ended November 30, 2021, 67% of revenue was recorded for contracts in which revenue was recognized over time while 33%
was recognized at a point in time.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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, Times, Serif; margin: 0 0 12pt; 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 November 30, 2022 and May 31, 2022, 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;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;9.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;The November 30, 2021 statement of income has been reclassified to conform
with the presentation adopted for November 30, 2022.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="width: 100%; font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.5in"/&gt;&lt;td style="width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;10.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Other current liabilities: &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZsvDMQshM0l" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto" summary="xdx: Disclosure - Other accrued expenses table (Details)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_490_20221130_zIWSxOvqw7Ic" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_497_20220531_z6miOeqyIdk4" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"&gt;November 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"&gt;May 31, 2022&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--CustomerDepositsCurrent_iI_maALAOLzc6I_zthHQmAjDtIh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Customer deposits&lt;/td&gt;&lt;td style="width: 8%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;954,262&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;1,347,709&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_iI_maALAOLzc6I_zVTq3XHqLIjd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Personnel costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,579,679&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,587,271&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--OtherAccountsPayableAndAccruedLiabilities_iI_maALAOLzc6I_zcIs8etKQVPd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;553,674&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;479,334&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_mtALAOLzc6I_zqr6oNRQ2H43" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other current liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,087,615&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,414,314&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

</srt:CondensedFinancialStatementsTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-06-012022-11-30"
      decimals="INF"
      unitRef="Shares">3500172</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2021-06-012021-11-30"
      decimals="INF"
      unitRef="Shares">3496697</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-09-01to2022-11-30"
      decimals="INF"
      unitRef="Shares">3499598</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2021-09-012021-11-30"
      decimals="INF"
      unitRef="Shares">3496610</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2022-09-01to2022-11-30">&lt;table cellpadding="0" cellspacing="0" id="xdx_882_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zdkTyuKNh0o9" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto" summary="xdx: Disclosure - Inventory (Details)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_493_20221130_zsvv31b5Bbnl" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_491_20220531_zt8RmkVZO0Wi" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"&gt;November 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"&gt;May 31, 2022&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--InventoryRawMaterials_iI_maIGzbjn_zopkLze2skv4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Raw materials&lt;/td&gt;&lt;td style="width: 8%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;575,415&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;488,393&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--InventoryWorkInProcess_iI_maIGzbjn_zCNUADptenZg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Work-in-process&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,900,432&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,166,271&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InventoryFinishedGoods_iI_maIGzbjn_zgexSVfrO3Fj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Finished goods&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;220,199&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;300,271&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--InventoryGross_iTI_mtIGzbjn_maINz7oH_zWBmZOMthH2d" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;b style="display: none"&gt;Gross inventory&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,696,046&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,954,935&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--InventoryValuationReserves_iI_msINz7oH_zNS694yzzy33" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less allowance for obsolescence&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;100,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;100,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--InventoryNet_iTI_mtINz7oH_zxulPAzTxRMk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;&lt;b style="display: none"&gt;Net inventory&lt;/b&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,596,046&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,854,935&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">575415</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">488393</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">4900432</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">5166271</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">220199</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">300271</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">5696046</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">5954935</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">100000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">100000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">5596046</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">5854935</us-gaap:InventoryNet>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="From2022-09-01to2022-11-30">&lt;table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZsvDMQshM0l" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto" summary="xdx: Disclosure - Other accrued expenses table (Details)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_490_20221130_zIWSxOvqw7Ic" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_497_20220531_z6miOeqyIdk4" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"&gt;November 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"&gt;May 31, 2022&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--CustomerDepositsCurrent_iI_maALAOLzc6I_zthHQmAjDtIh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Customer deposits&lt;/td&gt;&lt;td style="width: 8%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;954,262&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;1,347,709&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_iI_maALAOLzc6I_zVTq3XHqLIjd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Personnel costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,579,679&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,587,271&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--OtherAccountsPayableAndAccruedLiabilities_iI_maALAOLzc6I_zcIs8etKQVPd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;553,674&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;479,334&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_mtALAOLzc6I_zqr6oNRQ2H43" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other current liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,087,615&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,414,314&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:CustomerDepositsCurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">954262</us-gaap:CustomerDepositsCurrent>
    <us-gaap:CustomerDepositsCurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">1347709</us-gaap:CustomerDepositsCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">1579679</us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">1587271</us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">553674</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">479334</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities contextRef="AsOf2022-11-30" decimals="0" unitRef="USD">3087615</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities contextRef="AsOf2022-05-31" decimals="0" unitRef="USD">3414314</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>23
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MU@+@_[52YNG&!AB/EV;_ %!+ P04    " #R5B964QWZ4/T%  "R)   &
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
MZG[ECC)P G.P(1*2WK+C$(M),(")=)2)O!)E&FO74[&3/F,R2?7[ZY)+,HR
M7 Z,9=*Q*X)'V_4]KRA\#/]WNY*S69IS.^9"U@Y1=WR*7(1/W4N1,98W>P'F
M Q%BQ>KUMRRAAY7Y@AS\(B .KA0GR?%2Y!!+O'2HM#M"15Z)4(V5=F:_+ T7
ML3LE9F[9$S.\=K0P6RS.2#AX%0X]/TF#XV"X)$U+[(V$PX!T%(R,;U$MACQ&
M5^B1K7AEV)/3^SXI(@1H/?A_[+U#T@L3B-X L2 =?R*OQ)\&/X]&PL&J?"@6
M87\K#WO8QT$ODWU)^*(($B\YCL5T;\^Z9')EM_(5LK2^W@)N[[9_%]S:3?*C
M^W?X>E%O^G=FZO\@/E()"5:H8$LPZ;V-P3E9;^O7%UIL[,[XH]!:E/9TS6C.
MI!& YTLA],N%>4'[Y\K\7U!+ P04    " #R5B965'_@X-X*  "J'   &
M 'AL+W=O<FMS:&5E=',O<VAE970V+GAM;+59;7/;N!'^SE^!T?6N\0PCZUU6
M7CSC^)HV,TTN37J]#YU^@$1(0HX$> !IV??K^^R"("E;=NYNVIE,#)+ 8E^>
M?78!O3I8][/?*U6)VR(W_O5@7U7EB_-SO]FK0OJA+97!EZUUA:SPZ';GOG1*
M9KRHR,\GH]'BO)#:#"Y?\;N/[O*5K:M<&_71"5\7A71W;U1N#Z\'XT%\\4GO
M]A6].+]\5<J=^JRJ'\N/#D_GK91,%\IX;8UP:OMZ<#5^\69&\WG"O[0Z^-Y8
MD"5K:W^FAW?9Z\&(%%*YVE0D0>+/C;I6>4Z"H,8OC<Q!NR4M[(^C]+=L.VQ9
M2Z^N;?Z3SJK]Z\'%0&1J*^N\^F0/?U.-/7.2M[&YY__%H9D[&HA-[2M;-(NA
M0:%-^"MO&S_\E@639L&$]0X;L9;?RTI>OG+V(!S-AC0:L*F\&LII0T'Y7#E\
MU5A777ZPE?*BLN+:F@R^5AF-O,UU)BL\O-5&FHV6N?A<X07"4?E7YQ5VIO7G
MFV:7-V&7R2.[3,5[:ZJ]%W_!)MGQ^G-HW*H]B6J_F3PI\(.]&8KI*!63T63R
MA+QIZX8IRYL^(N\'MY-&_RH)*6G/ PP<DXF/3GF8'E[8[4FWB']?K7WE@+/_
MG/)04&!V6@'*O1>^E!OU>E#27NY&#2Z_^V:\&+U\PKQ9:][L*>G_LR@_N<MI
M&\9#\<^]0O9M;%%*<Z?-3M1&UIFFC3>M/IN^/MM6']^Y=R]O5+)6R@A(+Z7#
M/&U8L,LP6R%SJCT_UZ:B;4JG(:3,8?I.&>5DGM_1=U5686T%Q7XTK C;[2FT
M5X5R>B,%" ]S*CP4/7VT"40('"0$#-Z3Y&B#V-=,->QIX@PQ'CW_QU!<L8K0
M*+]+:>Z=R*PPML*:35YG<$Z>T\Y!3"N?@;>UMC(</:=^J349O;X[;63R!XVD
MP.2J4B>]/A3O@@A;:M. GQZO0S39GJ/@)G\LN)A120HG7"&S+R"^\/X9+=6>
M3<76UL Z0Q[*X9!-[1Q]P/ZNEKD_$T9ME/>H+@E"4(:D%5NI'9:1IMW>I?4Z
M>)D= D)1Q5JYEE38^^_EG9B.PXM@*D2"[WD)"J.3(=[D1OI:[9U2O-+K6U$P
MYR6*..^1#3" >!IMI-^++6ID)ZV3(;XF@Y/,GPZA\'M;YQE21U#9)DS J5]J
M$^IBB^ 8MI,R:*. 0TQU"MYM(M:!K('$G[VX,@;A$)]4:5U%R?!YCW3=VSQ3
MSB?1O#LE76-8W\_#9!(HHY&'O(?]-S*O&3WJIM4'7&N\W'0A**$@LB)@P^X,
M!SC!ATS[36Y][514]J21")^M=\$;A-7'9QX4B?*^5MDPF;*^_ (^ NSLC>:F
M!4"%\PG2[#2Q)FS<=1,:K9W=ZHHF$IC3)-,W&GF3^53@*RVPM!RKC<)$QAZ]
M-;(B@V3%3Q5:I08Y4&,+@Z$QN7B8S(;$1A%2SQE2 N#5-OLZL@+LC6*VLH5*
M#@A'4)&I:)K.1Z-TO)Q@-%LMTL5JR:-5.E]=Q'?C43(/0?T=^?.DHDFG*'Q
M9!I37R/5M<G ;M3O1;Z*^P*,B(*Z+=$5$M:;C;=U'KVU& *X&T29Y'"$>^7Q
MJB->D*G)I(-F;RS^B&=OKSZ_.3LY([FVF=ZR1D#%LZO/UV=B5^M0M1C>NHDP
MBILF-B:486,J09ZM\QIP)A&&$ZJ7;\-D221-:6'=W8OD82C[V95\D@?TCU36
M0)CB3V*^G*>S\1RCV<5%.EU-DY_01C_7YCEP21X5LW2%",^F$S%/QXM%.EF.
M$WA$H^G,Q,Y2;"830&"UPI8C_OQ79[%01Z6P< $8C&8+C%9S")S.D[^3;.2&
M/; ;*!)VC2JA/)R/%V/(&HU&\6_R@2$8)4)Q "S(I/%%(_6"HH=)M:(H1@YX
MT;[4/G+#K]#^6:]DHD[H6[Q#08799\EAKTS(0)_V_1UH9PLF8PITEFLWG%5H
MS\MMAC; TTIJ@4@814PVW;QRW+7@7T$X@63LC),('5.87+E8(KM";E =.^SU
M9G^D0L!OBV; K<H#$:O;S5Z:74,%C:9<)*N]18$XI1XZ%,HR;CS(\W:=ZUW
M*MPEHVVL=\(V@W09A8U\S,FX1N,U :(G/(*U-9Z26P=#:P2'R2RD#*D1I7_W
MS<5DO'SI^QP?(L,J 34;J@;D'27AG';[1^R@77MQEX2" (@'87[<$QXCO]6@
M?*:R0GZQ3E>@YVUB:]?J'CI5^,13R_>H0!F<$)W;=V=H!)EDJ8Z&'.OC*9("
MM<'P S%51BC8:KG.5;*%S*9H-.)]K'N=D@%58,\T5"?HB"&)C<X<XMC3H/JA
M"HQ;XEY=1#KI[Z%NJZ2AWA8QD:E[:DL/W7R(R&D_^5"\>GI3OQ+AQ'8]R(\D
M1JJ/WOM K)I*3?UW3(M@%3$RZKC,898)5:3N!,0<Y [D?IM"W?M&41"$H_L
MSWVHO"NX#PW%?N>(^6+7G9%<;C;X-.";FA6:@F/BZ:QZ J='2&]AGJ HN- C
M]#@O)T5@,KIZ$_JQ,UA*9+&QOB+?4H?=4]&I//B#?&$KA%P!*H4,W3XM@?L:
MRT@93"N4Y+XK&@Z''*A<!F/X.$C)\VCPWT4=@GR<_)JNGFY[XC*5I0T*<-+"
M]Q(GCX"4-,;)*30K:Z@K,E5J "E-N..(.0>?1SJ_AY0AG94#@ENW\+$MEVOK
MTK::\D[DYSVZ;)!9[Q3#[3*VCM[RG N%S%33WJ"P(R I'RG1J%+"MCU*(/DV
M%M;TDD&;#E$D$N3O=F%-K[UJ\C)L)7P-/S6;T)H,*'0%=?)#\0-Y"NF3AZ+5
MI1E-[!%H#0^C8]4E _M^:M$UV9&B35$-L<!FW;'RR3-.$LY=B_&W%)Z6L66H
MX2YK&K@C=P08W)_;J-UE :8A1Z>K;^]/(5;#00(G?W8;Y@Z3WZ)KTRPOEO\W
M7:??)E_7E2@[P*%AG1"ZZJX,$$.;O+,X(E'Q)'URBV;!<5 (25^HK8"0_EHN
M) >BT Q:6LK01[(U0#!>)QPW5RU8VI-;R+J$>Y>SP/(GSEKQ%!_8K:P=#N[J
M7D>&TXGO\F"M\QRT FUVDFYEPLF"V>H>K9$J+8$EH#_#Z_I!,.A2.JINH]=<
M:B&'P-'4K$Q&+QL"[,L4K<S0FI%Z0$?4,.65XY<=J_FD0<.1%D>+0]\8S(RM
M2(ZZKW/T(JTRK1..UCZEXBEE3DLYH2+R&9J590Z4H?@=AZ=7CJCO):>UEP"(
MA>,XR[S'I$%/.B.NZ8Z![W@Z,@GW?+U^>GNZ.=ZK>&8.IT#J?X/D0*D!^\E1
M 6S+>N,JI^X3,5F#U"2;KW[7U5'4+[,JM&_<)D:;DYXGHOTFG/Y+9>[W/Z0Q
M&@RD2][IE]6NO:!&*I#@X^K>*X;4[85*<&PH7=<ELLN1>+'T4+NF"J9B77>M
M7:X+'5R5BE!%D#QHOWQ3A[I^(D3VB; .DU4 ]P.6[9$#+ W7$MQ^\?D9\<F!
M,4V->BB\?*6:M/=<1X0B,UO&BX '@1PFXU%3$P5K;JHVU="&??6L?1T1BI:#
MKAOIO$W'W\EB@M$XG<Z6Z7*T2CZBPEIC5'3M.)TO5^EBN:+1Q9*/U$&+^7R*
M]S,QP_?I=)8\JAOD3],1UB[X;#_%&7^63L<S<>K7A//>[T=0=\>_DE'H0#3A
MIZ3V;?M#W%7X_:F;'G[%>X_^ Z2+UG*+I:/A<CX(G7!\J&S)OT:M;07?\)#Z
M)>5H K[3A7=\H W:GR<O_PM02P,$%     @ \E8F5J7$D;%) P  3P<  !@
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
MY8OEC&NN.JUO.79OOENIQE-J/&%O?@%02P,$%     @ \E8F5@O>[>WE
M%0<  !H   !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<\752X[", P&X*M4
M.0!N"Y2'6E9LV(ZX0%3<AVB;*/9HX/93E44Q8L$&>14Y47Y_*SO_P<YRZP9J
M6D_1K>\&*DS#[/< 5#;86UHXC\/X4KG06Q[+4(.WY=76"&D<9Q">,\PA?\Z,
MSG>/GR2ZJFI+/+KRM\>!WP3#GPM7:A#91&<;:N3"P*V;KPFF(UF,R28Z70H3
M3I?$@#8H%:!4'[04H*4^:"5 *WW06H#6^J!,@#)]T$: -OJ@K0!M]4$[ =KI
M@Y)83L;XBR3B>X<T>QZU[/_-T<SC7YS;3^7C\F4]3.,8Q!8\_ -02P,$%
M  @ \E8F5N&Z>90^ 0  F @  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS9;+
M3L,P$$5_)<JV2MP6* ^UW0!;Z((?,,FDL>J7/-.2_CV3]"&!2D15)+R)%<_,
M/=<S"WOZMO6 26.TQ5E:$_D'(;"HP4C,G0?+D<H%(XE_PU)X6:SD$L1X.)R(
MPED"2QFU&NE\^@257&M*GAO>1N7L+ V@,4T>=XDM:Y9*[[4J)'%<;&SYC9+M
M"3E7=CE8*X\#3DC%24(;^1FPKWO=0 BJA&0A [U(PUFBT0)IJP'S?HD3'EU5
MJ0)*5ZP-E^3H \@2:P R.M^)#OK)Q!V&W7=T,;^3Z0-RYB(XCSRQ .?C#B-I
MJS//0A!(]1_Q2&3IB\\'[;1+*'_)YO9^N+#JYH&B6R[O\=<9'_7/]#&.Q,=5
M)#ZN(_%Q$XF/220^;B/Q<1>)C_M(?(R&_VCDW;G57]^5[9H;J>R!+[H'R?P3
M4$L! A0#%     @ \E8F5@=!36*!    L0   !               ( !
M &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " #R5B96&GFBE.X    K @
M$0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4
M" #R5B96F5R<(Q &  "<)P  $P              @ ', 0  >&PO=&AE;64O
M=&AE;64Q+GAM;%!+ 0(4 Q0    ( /)6)E9#V ";104   ,<   8
M      " @0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4
M" #R5B96?AWL>/,%   >'0  &               @(&(#0  >&PO=V]R:W-H
M965T<R]S:&5E=#(N>&UL4$L! A0#%     @ \E8F5KMA@_?%!   :A(  !@
M             ("!L1,  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4
M Q0    ( /)6)E93'?I0_04  +(D   8              " @:P8  !X;"]W
M;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " #R5B96J\PV"XL%  !H
M&0  &               @('?'@  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL
M4$L! A0#%     @ \E8F5E1_X.#>"@  JAP  !@              ("!H"0
M 'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( /)6)E:EQ)&Q
M20,  $\'   8              " @;0O  !X;"]W;W)K<VAE971S+W-H965T
M-RYX;6Q02P$"% ,4    " #R5B96A.)P[.T"  !&"   &
M@($S,P  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ \E8F
M5L#Q-(6V @  #P<  !@              ("!5C8  'AL+W=O<FMS:&5E=',O
M<VAE970Y+GAM;%!+ 0(4 Q0    ( /)6)E88@!*7SP(  #<(   9
M      " @4(Y  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%
M  @ \E8F5KV^"4K_ @  B0\   T              ( !2#P  'AL+W-T>6QE
M<RYX;6Q02P$"% ,4    " #R5B96EXJ[',     3 @  "P
M@ %R/P  7W)E;',O+G)E;'-02P$"% ,4    " #R5B96+TK&-M0!  #E!P
M#P              @ %;0   >&PO=V]R:V)O;VLN>&UL4$L! A0#%     @
M\E8F5@O>[>WE    %0<  !H              ( !7$(  'AL+U]R96QS+W=O
M<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ \E8F5N&Z>90^ 0  F @  !,
M             ( !>4,  %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&     !(
,$@"U!   Z$0

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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>25
<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.22.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>39</ContextCount>
  <ElementCount>91</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>3</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Condensed Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/BalanceSheets</Role>
      <ShortName>Condensed Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Condensed Consolidated Statements of Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/StatementsOfIncome</Role>
      <ShortName>Condensed Consolidated Statements of Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Condensed Consolidated Statements of Stockholders Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/StatementsOfStockholdersEquity</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Condensed Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/StatementsOfCashFlows</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Disclosure - Notes to Condensed Consolidated Financial Statements</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements</Role>
      <ShortName>Notes to Condensed Consolidated Financial Statements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Disclosure - Notes to Condensed Consolidated Financial Statements (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables</Role>
      <ShortName>Notes to Condensed Consolidated Financial Statements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements</ParentRole>
      <Position>7</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/InventoryDetails</Role>
      <ShortName>Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - Other accrued expenses table (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/OtherAccruedExpensesTableDetails</Role>
      <ShortName>Other accrued expenses table (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="tdi10qfy23q2.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative</Role>
      <ShortName>Notes to Condensed Consolidated Financial Statements (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables</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" original="tdi10qfy23q2.htm">tdi10qfy23q2.htm</File>
    <File>ceo302certification20221130.htm</File>
    <File>ceo906certification20221130.htm</File>
    <File>cfo302certification20221130.htm</File>
    <File>cfo906certification20221130.htm</File>
    <File>tayd-20221130.xsd</File>
    <File>tayd-20221130_cal.xml</File>
    <File>tayd-20221130_def.xml</File>
    <File>tayd-20221130_lab.xml</File>
    <File>tayd-20221130_pre.xml</File>
    <File>taydbylaws2022.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2022</BaseTaxonomy>
    <BaseTaxonomy items="206">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="26">http://xbrl.sec.gov/dei/2022</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>
{
 "instance": {
  "tdi10qfy23q2.htm": {
   "axisCustom": 0,
   "axisStandard": 1,
   "baseTaxonomies": {
    "http://fasb.org/srt/2022": 1,
    "http://fasb.org/us-gaap/2022": 206,
    "http://xbrl.sec.gov/dei/2022": 26
   },
   "contextCount": 39,
   "dts": {
    "calculationLink": {
     "local": [
      "tayd-20221130_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tayd-20221130_def.xml"
     ]
    },
    "inline": {
     "local": [
      "tdi10qfy23q2.htm"
     ]
    },
    "labelLink": {
     "local": [
      "tayd-20221130_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tayd-20221130_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "tayd-20221130.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://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/srt/2022q3/srt-sup-2022q3.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022q3/us-gaap-sup-2022q3.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 145,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2022": 5,
    "total": 5
   },
   "keyCustom": 0,
   "keyStandard": 91,
   "memberCustom": 0,
   "memberStandard": 3,
   "nsprefix": "tayd",
   "nsuri": "http://taylordevices.com/20221130",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00000001 - Document - Cover",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://taylordevices.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000010 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)",
     "menuCat": "Details",
     "order": "10",
     "role": "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative",
     "shortName": "Notes to Condensed Consolidated Financial Statements (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "AsOf2022-11-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000002 - Statement - Condensed Consolidated Balance Sheets",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://taylordevices.com/role/BalanceSheets",
     "shortName": "Condensed Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "AsOf2022-11-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ShortTermInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000003 - Statement - Condensed Consolidated Statements of Income",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://taylordevices.com/role/StatementsOfIncome",
     "shortName": "Condensed Consolidated Statements of Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "AsOf2021-05-31_us-gaap_CommonStockMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000004 - Statement - Condensed Consolidated Statements of Stockholders Equity",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://taylordevices.com/role/StatementsOfStockholdersEquity",
     "shortName": "Condensed Consolidated Statements of Stockholders Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2021-06-012021-11-30_us-gaap_CommonStockMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-06-012022-11-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000005 - Statement - Condensed Consolidated Statements of Cash Flows",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://taylordevices.com/role/StatementsOfCashFlows",
     "shortName": "Condensed Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-06-012022-11-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:CondensedFinancialStatementsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000006 - Disclosure - Notes to Condensed Consolidated Financial Statements",
     "menuCat": "Notes",
     "order": "6",
     "role": "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements",
     "shortName": "Notes to Condensed Consolidated Financial Statements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:CondensedFinancialStatementsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000007 - Disclosure - Notes to Condensed Consolidated Financial Statements (Tables)",
     "menuCat": "Tables",
     "order": "7",
     "role": "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables",
     "shortName": "Notes to Condensed Consolidated Financial Statements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "From2022-09-01to2022-11-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "AsOf2022-11-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000008 - Disclosure - Inventory (Details)",
     "menuCat": "Details",
     "order": "8",
     "role": "http://taylordevices.com/role/InventoryDetails",
     "shortName": "Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "AsOf2022-11-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "AsOf2022-11-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CustomerDepositsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000009 - Disclosure - Other accrued expenses table (Details)",
     "menuCat": "Details",
     "order": "9",
     "role": "http://taylordevices.com/role/OtherAccruedExpensesTableDetails",
     "shortName": "Other accrued expenses table (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy23q2.htm",
      "contextRef": "AsOf2022-11-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CustomerDepositsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 3,
   "tag": {
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AnnualInformationForm": {
     "auth_ref": [
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form.",
        "label": "Annual Information Form"
       }
      }
     },
     "localname": "AnnualInformationForm",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditedAnnualFinancialStatements": {
     "auth_ref": [
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements.",
        "label": "Audited Annual Financial Statements"
       }
      }
     },
     "localname": "AuditedAnnualFinancialStatements",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CountryRegion": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Region code of country",
        "label": "Country Region"
       }
      }
     },
     "localname": "CountryRegion",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r186"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r184",
      "r186",
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentPeriodStartDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format.",
        "label": "Document Period Start Date"
       }
      }
     },
     "localname": "DocumentPeriodStartDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r185"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r173"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyEventDate": {
     "auth_ref": [
      "r186"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date of event requiring a shell company report.",
        "label": "Document Shell Company Event Date"
       }
      }
     },
     "localname": "DocumentShellCompanyEventDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r186"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r188"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r176"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine3": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 3 such as an Office Park",
        "label": "Entity Address, Address Line Three"
       }
      }
     },
     "localname": "EntityAddressAddressLine3",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "auth_ref": [
      "r179"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element.",
        "label": "Entity Bankruptcy Proceedings, Reporting Current"
       }
      }
     },
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.",
        "label": "Elected Not To Use the Extended Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r189"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPrimarySicNumber": {
     "auth_ref": [
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity.",
        "label": "Entity Primary SIC Number"
       }
      }
     },
     "localname": "EntityPrimarySicNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "sicNumberItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r190"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_Extension": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Extension number for local phone number.",
        "label": "Extension"
       }
      }
     },
     "localname": "Extension",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_NoTradingSymbolFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a security having no trading symbol.",
        "label": "No Trading Symbol Flag"
       }
      }
     },
     "localname": "NoTradingSymbolFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "trueItemType"
    },
    "dei_OtherReportingStandardItemNumber": {
     "auth_ref": [
      "r186"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS.",
        "label": "Other Reporting Standard Item Number"
       }
      }
     },
     "localname": "OtherReportingStandardItemNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "otherReportingStandardItemNumberItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r180"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.",
        "label": "Pre-commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r181"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.",
        "label": "Pre-commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_Security12gTitle": {
     "auth_ref": [
      "r178"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(g) registered security.",
        "label": "Title of 12(g) Security"
       }
      }
     },
     "localname": "Security12gTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r177"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SecurityReportingObligation": {
     "auth_ref": [
      "r182"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act.",
        "label": "Security Reporting Obligation"
       }
      }
     },
     "localname": "SecurityReportingObligation",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "securityReportingObligationItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r183"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r191"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "srt_CondensedFinancialStatementsTextBlock": {
     "auth_ref": [
      "r81",
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for condensed financial statements.",
        "label": "Notes to Condensed Consolidated Financial Statements"
       }
      }
     },
     "localname": "CondensedFinancialStatementsTextBlock",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsAndOtherReceivablesNetCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts and other receivables, net"
       }
      }
     },
     "localname": "AccountsAndOtherReceivablesNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r11",
      "r172"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://taylordevices.com/role/OtherAccruedExpensesTableDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.",
        "label": "Accrued Liabilities and Other Liabilities",
        "verboseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesAndOtherLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/OtherAccruedExpensesTableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities:"
       }
      }
     },
     "localname": "AdditionalCashFlowElementsFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities:"
       }
      }
     },
     "localname": "AdditionalCashFlowElementsInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common stock and additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r204",
      "r205",
      "r206",
      "r210"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash flows from operating activities:"
       }
      }
     },
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement.",
        "label": "APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r40",
      "r48",
      "r67",
      "r79",
      "r107",
      "r110",
      "r114",
      "r119",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r141",
      "r143",
      "r148",
      "r172",
      "r208",
      "r209",
      "r212"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Assets [Default Label]",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r64",
      "r70",
      "r79",
      "r119",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r141",
      "r143",
      "r148",
      "r172",
      "r208",
      "r209",
      "r212"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BillingsInExcessOfCostCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Billings in excess of costs and estimated earnings"
       }
      }
     },
     "localname": "BillingsInExcessOfCostCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r29",
      "r66",
      "r168"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and cash equivalents",
        "periodEndLabel": "Cash and cash equivalents - ending",
        "periodStartLabel": "Cash and cash equivalents - beginning"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets",
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r24",
      "r38"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "totalLabel": "Net change in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r204",
      "r205",
      "r210"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r19",
      "r156"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cost of goods sold"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms": {
     "auth_ref": [
      "r56",
      "r57",
      "r58",
      "r61"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings.",
        "label": "Costs and estimated earnings in excess of billings"
       }
      }
     },
     "localname": "CostsInExcessOfBillingsOnUncompletedContractsOrPrograms",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerDepositsCurrent": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://taylordevices.com/role/OtherAccruedExpensesTableDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Customer deposits"
       }
      }
     },
     "localname": "CustomerDepositsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/OtherAccruedExpensesTableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r134",
      "r135"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r27",
      "r105"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Depreciation"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r77",
      "r87",
      "r88",
      "r89",
      "r90",
      "r91",
      "r95",
      "r96",
      "r98",
      "r99",
      "r100",
      "r101",
      "r146",
      "r147",
      "r157",
      "r160",
      "r170"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Basic and diluted earnings per common share"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r18",
      "r79",
      "r107",
      "r109",
      "r113",
      "r115",
      "r119",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r148",
      "r171",
      "r208"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r16",
      "r39",
      "r45",
      "r54",
      "r107",
      "r109",
      "r113",
      "r115",
      "r158",
      "r171"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before provision for income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r80",
      "r93",
      "r94",
      "r106",
      "r136",
      "r139",
      "r140",
      "r161"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableTrade": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableTrade",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts and other receivables, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the liability reflecting cash payments received before the related costs have been incurred.",
        "label": "Billings in excess of costs and estimated earnings"
       }
      }
     },
     "localname": "IncreaseDecreaseInBillingInExcessOfCostOfEarnings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventory"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in other assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "auth_ref": [
      "r202"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current assets classified as other.",
        "label": "Increase (Decrease) in Other Current Assets",
        "negatedLabel": "Other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": {
     "auth_ref": [
      "r202"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current liabilities classified as other.",
        "label": "Other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInUnbilledReceivables": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Unbilled Receivables",
        "negatedLabel": "Costs and estimated earnings in excess of billings"
       }
      }
     },
     "localname": "IncreaseDecreaseInUnbilledReceivables",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r194"
     ],
     "calculation": {
      "http://taylordevices.com/role/InventoryDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryGross": {
     "auth_ref": [
      "r198"
     ],
     "calculation": {
      "http://taylordevices.com/role/InventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory, Gross",
        "totalLabel": "Gross inventory"
       }
      }
     },
     "localname": "InventoryGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r68",
      "r169",
      "r172"
     ],
     "calculation": {
      "http://taylordevices.com/role/InventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "totalLabel": "Net inventory"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPartsAndComponentsNetOfReserves": {
     "auth_ref": [
      "r31",
      "r197"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory"
       }
      }
     },
     "localname": "InventoryPartsAndComponentsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r196"
     ],
     "calculation": {
      "http://taylordevices.com/role/InventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r31",
      "r198"
     ],
     "calculation": {
      "http://taylordevices.com/role/InventoryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Less allowance for obsolescence"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r195"
     ],
     "calculation": {
      "http://taylordevices.com/role/InventoryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcess",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r7",
      "r41",
      "r50",
      "r172",
      "r203",
      "r207",
      "r211"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Stockholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r13",
      "r65",
      "r79",
      "r119",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r142",
      "r143",
      "r144",
      "r148",
      "r172",
      "r208",
      "r212",
      "r213"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r24",
      "r25",
      "r28"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r17",
      "r28",
      "r46",
      "r53",
      "r63",
      "r71",
      "r72",
      "r75",
      "r79",
      "r85",
      "r87",
      "r88",
      "r89",
      "r90",
      "r93",
      "r94",
      "r97",
      "r107",
      "r109",
      "r113",
      "r115",
      "r119",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r147",
      "r148",
      "r171",
      "r208"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows",
      "http://taylordevices.com/role/StatementsOfIncome",
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r107",
      "r109",
      "r113",
      "r115",
      "r171"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://taylordevices.com/role/OtherAccruedExpensesTableDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other"
       }
      }
     },
     "localname": "OtherAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/OtherAccruedExpensesTableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r69",
      "r172"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other current assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsMiscellaneousNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.",
        "label": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsMiscellaneousNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent": {
     "auth_ref": [
      "r44",
      "r52"
     ],
     "calculation": {
      "http://taylordevices.com/role/OtherAccruedExpensesTableDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligations incurred for employer-related costs classified as other.",
        "label": "Personnel costs"
       }
      }
     },
     "localname": "OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/OtherAccruedExpensesTableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherInventoryNoncurrent": {
     "auth_ref": [
      "r193"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Maintenance and other inventory, net"
       }
      }
     },
     "localname": "OtherInventoryNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r12",
      "r172"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r21"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other income, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": {
     "auth_ref": [
      "r200",
      "r201"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash (inflow) outflow from investing activities classified as other.",
        "label": "Payments for (Proceeds from) Other Investing Activities",
        "negatedLabel": "Other investing activities"
       }
      }
     },
     "localname": "PaymentsForProceedsFromOtherInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Acquisition of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r23"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from issuance of common stock, net"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r32",
      "r51",
      "r159",
      "r172"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r37",
      "r55",
      "r214"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Research and development costs"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r4",
      "r34",
      "r49",
      "r165",
      "r166",
      "r172"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r62",
      "r82",
      "r83",
      "r84",
      "r86",
      "r92",
      "r94",
      "r120",
      "r131",
      "r132",
      "r133",
      "r137",
      "r138",
      "r145",
      "r162",
      "r164"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r76",
      "r79",
      "r103",
      "r104",
      "r108",
      "r111",
      "r112",
      "r116",
      "r117",
      "r118",
      "r119",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r148",
      "r158",
      "r208"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Sales, net"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Other accrued expenses table"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r0",
      "r8",
      "r9",
      "r10"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "verboseLabel": "Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Selling, general and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermInvestments": {
     "auth_ref": [
      "r42",
      "r43",
      "r47",
      "r199"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.",
        "label": "Short-term investments"
       }
      }
     },
     "localname": "ShortTermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r15",
      "r33",
      "r62",
      "r73",
      "r74",
      "r75",
      "r82",
      "r83",
      "r84",
      "r86",
      "r92",
      "r94",
      "r102",
      "r120",
      "r130",
      "r131",
      "r132",
      "r133",
      "r137",
      "r138",
      "r145",
      "r149",
      "r150",
      "r151",
      "r152",
      "r153",
      "r154",
      "r155",
      "r162",
      "r163",
      "r164"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r82",
      "r83",
      "r84",
      "r102",
      "r156"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of shares issued during the period to an employee benefit plan, such as a defined contribution or defined benefit plan.",
        "label": "Stock Issued During Period, Value, Employee Benefit Plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeBenefitPlan",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "auth_ref": [
      "r1",
      "r2",
      "r33",
      "r34"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.",
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockOptionPlanExpense": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://taylordevices.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for option under share-based payment arrangement.",
        "label": "Stock options issued for services"
       }
      }
     },
     "localname": "StockOptionPlanExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r2",
      "r5",
      "r6",
      "r30",
      "r172",
      "r203",
      "r207",
      "r211"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Stockholders' Equity Attributable to Parent, Ending Balance",
        "periodStartLabel": "Stockholders' Equity Attributable to Parent, Beginning Balance",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets",
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityBeforeTreasuryStock": {
     "auth_ref": [],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock.",
        "label": "Stockholders' Equity before Treasury Stock",
        "totalLabel": "Stockholders\u2019 equity before treasury stock"
       }
      }
     },
     "localname": "StockholdersEquityBeforeTreasuryStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r14",
      "r35",
      "r36"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Treasury Stock, Value",
        "negatedLabel": "Treasury stock - at cost",
        "negatedTerseLabel": "Treasury Stock, Value"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets",
      "http://taylordevices.com/role/StatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r95",
      "r100"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 3
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "a",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "04",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r173": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r174": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r175": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r176": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r177": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r178": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "g",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r179": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12, 13, 15d",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r181": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r182": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r183": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r184": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r185": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r186": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r187": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r188": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r189": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r191": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r192": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(4))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(1)(g))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.15(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(c)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(c)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(c)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55302-109406",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>29
<FILENAME>0000096536-23-000002-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000096536-23-000002-xbrl.zip
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
M0G4!?:+[?B,,^#UF?78<@HVT:/=>N3T\V H:^I59]@Y-OVK[!U!+ P04
M" #S5B96$(.%M+($  !''0  $0   '1A>60M,C R,C$Q,S N>'-D[5G9<MLV
M%'UN9_H/*)_2R5 4I7A3Y&02V<IH*MNIY;A.7SH0>25A# (T &KY^P+<1"UF
M1,5^J:T'#PF<>^YR+B#[NOUQ'E T!2$)9Z>66ZM;")C'?<+&I]:W@?UIT.GU
M+/3QPV^_(OUI_V[;J$N ^BUTQCV[QT;\/;K$ ;30%V @L.+B/;K%-#(KO$LH
M"-3A04A!@=Y(/+700<T]PLBV=^"]!>9S\>VZE_-.E IERW%FLUF-\2F><7$O
M:QX/=B,<**PBF;/5Y_7TLYOY!9%>;OSVS_'![&A^3>[&5^PXZF!V+@>XTX^\
MKVK^S^W;O[_3S[+A-X9^<#A<'+.H?S&4@YG[A5X&?]U]OTQ<MJ4W@0 C+0:3
MIY;)+TUOUJQQ,78:];KKW%WT!S'.2H"M.27L?AO</3DY<>+=#+J!G \%S:B;
MCMD>8@DYL]XE)7C"I,+,6\'[*C<H@@^<9',%2K9"#Q,HR: ^K.$D>+4QGSIZ
M0^,;C0P827N,<9B#1U@.8U(IE"VC, 8_-#.X7MT*7>$TIFH1@MS.&F^M&"B\
M\'.L?J%<^# E'L2M&4-=MVD.&(4 F.IR$9S!"$=41_,084I&!'P+*2S&H$RO
MR1![L MEUK68,:Z;6Y^P=,6LA2'1W:L7?FD;F5N"4[C1T2/SH(]5B0.#<#I<
MWP\6(CJYY-%0:>*8S(<1823VF!XB%]GFR$0F1?T8F[2==7"!(I+@7[$/\7,H
M0&J[.(6^7D@-4\@C1AZF7D2KV2Q#V6J2+F2EVK]XGS$UYV0P 5 R*>+J4GDQ
M&[J"YKJ"O)K,!Z;#-$^24^+K/1^EE"CA?+G5SDLEKT8]_3460%+R+>OE=6_N
M5O<E+^(CE#"_5M]4>:"X=S_AU-=?^.</$5&+326V8,I5>;>/*D4O*''S*I$I
M?P?+29?RF=Q49KE5+LC!/H(8<A2SOUP=+KD"></S>A7+U25,7^8$TV79$H6J
M&I5K=VB^I_6OLI3+2(!^B>F1XH^IF+LHZ/FJX(YBW. AA?UT3$W+U3QZ"C71
MF\37'R]7UAZ;ZGRX6)R!PH2FBFVLEHMQO"Y&;H_>I PON,17:@+BD^>)"/SS
M>6AZ,^GQE9+_$%4NP<FZ!#$?P@DA@I11_[&E*5]5J7R?I06[Q$+H?*:PU\VV
M05*JJ5M_FCLN]8IRM_\CU<T/,\>YAA&*YS\M,Z<XM20Q$S@K79L(&)U:9EYA
M9R.$?W5JM7E ,XBA+IG_Q"VS7HW4<4:!A;?!LC&?TB0\!*$(R.(0*@F=*&/^
MM> &&3_ZAG">(F6*AU53UB9 GS'7ON%_TB1U]U5-<JUAGRG5SM++DR:LCT[5
MA%=/VS/E>Y8[*::;#NF<Y90N?5^?Y+5UXEPHQ#;F@F73V62NW.=>3%5B8M[L
MS,XV2[;;L)MN;2[]9:15@EB6H5H0F=T>03PR(][F7SX&-P]Q,^WJ-)\*IT/H
M79QNM7& *IFM_%0(*R/OZH$\-(M$=K)4.9;UT?MN<613>!U#2K"O?YU"<4;_
M$WK$-)4$66EM7PG'4!C2NEUW[8;[>#@_LHS?Y5X'PN,14V)1Y5 43;*7_3IS
M^=^5:GV0B&!:85^W>W3!IO-M+=!V$C;]^!]02P,$%     @ \U8F5EPP\R'
M"0  F'(  !4   !T87ED+3(P,C(Q,3,P7V-A;"YX;6SM7=U3XS@2?[^J^Q]\
MN9?=AQ ".SL+.]Q6"#"5*@8H/O;N;4O8':(:6<I*,B3WUY^D."%V;%DF9"6J
MC@?(A[K5W;]6JR6WQ)??9BF)GH$+S.A)I[^WWXF QBS!].FD\W#7'=P-1Z-.
M)"2B"2*,PDF'LLYO__K[WR+U\^4?W6YT@8$DQ]$9B[LC.F:_1E<HA>/H*U#@
M2#+^:_0[(IG^A%U@ CP:LG1*0(+Z8M'Q<?1IK_\91=VN ]_?@2:,/]R.5GPG
M4D[%<:_W\O*R1]DS>F'\N]B+6>K&\$XBF8D5M_W9?OZS(/]",/U^K'\](@&1
MLA<5QS.!3SJZW[S;E\,]QI]Z!_O[_=Y_OEW>Q1-(41=3;;<8.DLJS:6*KG]T
M=-0SWRZ;;K2</7*R[..PMQ1GQ5E]BRWMUR01^%@8\2Y9C*2!O;&;J+:%?M==
M-NOJC[K]@^YA?V\FDL[2^,:"G!&XA7&D_RKT5KU*-">,)_",8S"H]72+WI I
MKU3B&MH)A_%)1[5,5!<'!_W^X;[NX)^%1G(^5=XIL':N3M3;IO-31+2U[B8
M4C0)4=GX'871_@DI4"FNQR,U-E-HDJB>8D=BW4D6?Y\PDJCQ?/YGAN6\C8CU
MU#L2=XC$Y(*PET9HK43O*-P5DR#NV9#1!*B 1+T0C.!$]9Y<8*K<"R/R*DR3
MV&]DYT^A>_1(X+W5*C)]1^5&]%GQ9WQ^!A)ATBAW7?MW%.E:3H /XIAGD)S/
MIMH\"_T=172E]^<BN2!7B*ND C\WQL!W8F]3.$8DSHB90R_5^P(%S*3*4R!9
M\M$JMYKR))::(D]%^E%7YRV9EE6]S%ON5ISJ>:T@UH&2965#(U=N[6C=W%'.
M*<I9Y5(OY28L+LA*=%["2G/_,L<SV<<8B4>3@F2B^X30M*>1[P&18OF)\07C
M!_D'?PR$4'T/,\Z5J$O>!#T",3W^D;<K->MYD55/-0.:Z#]Z/GQ&1+OH0 Z5
M=\Y59FXRU7H=',G+NJWYSX#'D?8(KI8$RWX0CPM>LYD+YBUZ(DM3PZ:+E6<L
MZ<><I393YV9E;U%E'1(E12=Z ?PTD49Z/Q#>31B7]\!3'?R%+,RSFXA5MW8#
MZ, K0#8]0\)#S6TLTZY#$S/7W4(,RIUTAG %LCDLN)&[(7;H%;%6E@@)PE4:
M=8.X$5_O(S"J/4X)?CV^!0'\&2S#S)V#&Y _>06RK3U"PG+(A!0C>CY3&8=:
M6YUBHK@_B6OZH)>K9G=(9VR2HUBMO?@-9T\<I19HW\S0#>E/?F?![:P5$O"+
MA89;+E;5U@VNG[W"5:]C2$@L!&S*A$-)$^LFL]"M;'QA%:FO&(V=O+Z2(HQ\
MT.;T%D5# D4%R"EP.;]1RU*I)DZ]M)CJU%7-F_7 V*G"2/UJP'%1."2 UB+H
M-RQB($IN8)EP'C\-M&&D=\W31X/R(4%V!F-0PB6+YPWW:+;0P#JB;#1AY&4U
M$#4K&Q(TEQ@]8H(EAN:<JZJMWQ7[#9KKQ:GS$KW<WG?^4F_]FH5YM<(A.=1R
M ?*Z)-$KE$:$&LA\IS?.0#FI'Q)>9D9I$P5J"7QG.<X8-:@<$CJ;C[]/8<PX
MW'- (N-S\[UE[]B-W%,03Q*L447D!F$U70[1%$M$ABQ-&6U0S(76=W!OA5TY
MWCO;)B1OO=4/2BDDYXA3'035K)6EVN20J*P(Q]@25EQH?<\"VR#J;IN0$*TO
MOW$)-B&.P;IG5:V@#0BA@H -#W^KVH8WIFH0JE>T HYN" NJ 4W:C)]F2M^C
MR56W$G+;IEH>D_TV:C:5*M:I^:57UO)2O=]I^8ZE"+10PW/H5L/SRBYBXRAG
MZ&7T?>5,B!O.QK94H]#(5Z;T##2S/8]^;>%[U%?8=".W*6H3TORHE]_7XZ^,
M)68P S=#X4X-4_L#XSH:W\&I&8UFC8.:,*^G^BB(2HD7<>-2J6?9?*AJ['N
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
M3;!ZBH>/0TXC/?0O_DV(>EX%HEM[37#/L!Q>4CZNI;92J4%PUUR!_,K/.(N
M28CTA>241-I[=$F8+B^"Z0N8.MBO-+>]@+[B/H6FPRH:;3"X+GO2]KEX/@>%
M":W%[9)O$-*-&H(X#4.10'0Q&9GT3.-?$N*R^MLKD13(-1:Z_R!/M7-@0^:K
M L8BS&(N$Y[%YU@_LV7<+)Q'%O90FQ!AT@<_(AJ8::0\E#J:36INA3 5:-$@
ME0E*#:P?=^[,CWB,R8J@%[4W@-AZ\F.(^Z:'6 EN477]6#&EJR&T"NO'Q;@Z
M715:IK/1FH0!3JAZ=5%FZD7,^C9AQ+305_IK 3=,E-[10)0A-P97ZG@5448C
MW;2TD6]V.(F9JO1E*KE6-.5=;0'5OH:2SZ 65CK7HMG)%J664&9JK; K6M\"
M]H/EL+^80WR ,H,;BZ"B,RY$<_B::&:-H]1Z&E@6&N5A(1YJMHQ<+(Y'F0VD
M 99].YH2Z3]@/ K,HAP 53*[8Y=I.S[3&_<Y+)T_Z.K+O-XH[@.U;N]3X3+9
M8+NH;9^T!.)4;A[M2_F<B@QW.@4M.<]/Y[U.R)G2!7=!K3<]=\*#N<B0#02/
M:U.9IHU71C";6PW$0Z:*Q8G7;KU@H5Q7G^[+=$.Y=8*FM6T.J#@SQ7\Z(<M4
M6+E:H_25-FMU=!59<%!5%7,)<]OB: [F>=K]N;AQB#?*R6(O6D=(9:[Y,@&X
M>-EO_<C$W+=+X#?%3=:2O77R>RMY-D@7?P=;XT^CC#FS2_R7=)OBXFY!]+YQ
MVHK[)0<EU6.#UV/>N=GM-(ILRC"]Q23JLC,\(@K3.D(JU=8PJ!IGISX )U5;
MX^K.'  QB"ZP8(0]R#J2RN7ORV;L'6.G KES'=H:+>X=4%GG-B][?[@=.E9H
MK4LA[]Q,9G%VI4P@.D^$KII;$(1']NGJ13RB_!G RMPF(AQB";=ZSU_#U*KF
M?@PR7Q65<]SM,M^?@>GDJ[<S/6/H?\'Q?#S.[G![?<D_B533AV3<L5CWAEC
M9VR?G,3F@9!]5\"&?S,RE_(.](0EB8(>"'.&-<W$'83\8<I658>S$0 [7TV;
MS(.K"@^W5877H*8'JE=<5IS'%,1VGM%%M*Z\'VTK[U\%8)F(9UM"=N)R)W]1
M=N<9<$!VT?!^YC@_F M&NWK<U%'_XNLEA1/^H]><\!N;*#6ZUF<6KWWAI!#B
M[^8A%Y'FZ#@1H+]8JTAQ5["Y931K>I<"G7L%I1#N^R;"1>^F+GY;<]S.5U@*
M(?TQ'U*NAMZEBNL&NO2++ 7@Q_/ K1F$IW80I(:0,I8V%DM3K[#,AMIN-5-V
MJ3.4>TN3D<ZAYL.\$:KO_ =02P,$%     @ \U8F5EGX]WF '0  5)(! !4
M  !T87ED+3(P,C(Q,3,P7VQA8BYX;6SE76MOY#AV_1X@_X'Q IL9P&Y/NY/=
M3,_,+MQN>V!LM^W8[IDDC6# DEAE;:O$&DIEN_+KPX>DDL2'J+)-WDX6V![;
M.I<Z)(_(R^?]\:^/RQS=$U9FM/AI[_6K[_80*1*:9L7BI[U/-P?'-R?GYWNH
MK'"1XIP6Y*>]@N[]]2__^ ^(_^_'?SHX0&<9R=.WZ#U-#LZ+.?T!7> E>8M^
M)@5AN*+L!_0+SM?B+_0LRPE#)W2YRDE%^ /UXK?H7U^]_C-&!P<>Z?Y"BI2R
M3]?G;;IW5;4JWQX>/CP\O"KH/7Z@[$OY*J%+OP1O*ERMRS:U[QZ_J_^GS'_,
ML^++6_'/#)<$\?(JRK>/9?;3GGAO_=J'-Z\H6QP>???=Z\/_^/CA)KDC2WR0
M%:+<$K+76(E43':OO__^^T/YM(%JR,<9RYMWO#ELZ+0I\Z>9 ]]A4F9O2TGO
M TUP):M]]#7(BA"_'32P _&G@]='!V]>OWHLT[VF\&4),IJ3:S)',IMOJ\V*
M2ZG,A!+VZK_=,3(WD\D9.Q3VAP59X(JDXD7?BQ>]_I-XT1_J/W_ ,Y+O(8'D
M^K#FZ_M>6K7186BR5X1E-#TM=F,]M(Y$GW\[K'I"!KKVP;-P2RN<[T2^:QF<
M]@79K<2W=N%+FK?S9+>2[EB^".U*ISRY>,WEFHL_?N _]2B2QXIW8"1M2(HD
M'"VP?(/L&.JTV]1ITDLW%ZTY97K>1<\HTYSC<B837I<'"XQ7_ 5'1X<DK\KF
M+P?B+[(0ZC_\)OI&LB1%=?K[.JLVHN?F/D!1E<>/6=F\2V;TISU/F\-A1H3U
M,6MR@UDR4B0UXC"AO$-;50>Y*GQE/F=TZ4VE+C_J:?!;/FO?HPJ=4[%DJ =C
MI*1KEI!)==[-U902KEDN<VXEG#A2''RZV?N+@J(M%GT6Z/_^\7#[AB@2XXR6
MM+BI:/+E(UG."+-DVH +*24KS:Y\-! 8R=B8#66B<$@"T6<%C:^1XS3-A*N*
M\RN<I>?%"5YEO =VZF7$)J1VO.AW=>0T *,I'Y9#?6UMD##B0R14F\%1VS6I
M<%:0]!2S@H^#2Z?,;."0^G(3[@K+C 2C*">]H90:,&K0+Z.@DB2O%O3^,"69
M$@__8:L9_@MO6^\).YZ5%<-)-<B9X7D(95AI"3%H#Z/7OXV1WCMQ#'=<:E3H
MBGY/D[5PNVYYBH8<]!^'JF83J::6N\] 5+*!T+".&P@2F, 5?,Q?G(J7G^5X
M8: _>!ZJBHVTFCKN/011R29&FA_08)  Q:KF]Z1,6+82#HDK'SU8\$HWD-3J
MOH.!)0&=F%T)'6RDAOV:+#+1M0@*[2#;T8Q9\*&;?B?M85]@!(,0C0]#:V_1
M-4*M520='1?%&N?79$692SY]6&C5F$@.Q=+%@-*(@9A5&@J+%#B2(OY]C5E%
M6+X9%86&#*T+"]6A- 8P4.HP<[,*I(7'U<@MPT4I9T=&1:)#@P\W+&2UH<<
M!THG%G+V(4F+CZN4FSN2YV(J'Q?C#8H)'%HM=L)#O>A(4(JQTK-J1EJ@V@2.
M;$[OA7?.W23/S';P,<6CT7;IIP6#E="0H:>*I!D2=I&4U-F],:(A#1E:/1:J
M0]T,8* 48^9FU8J"(XF/+Y+3(O622(N+(Y !3;,\:A! <?29C4F#HV,*XRPK
M$YPK+F?\;\.=)"/8T *QTAV*1 ."$HJ-G54LRJ#1C#2)*IC_))CYR:6#C",6
MC:I9*BT,H%"&W,9D(O!11'*R9JS'VM[CV*'!%F5'R+;KLQ8<"*&,D--6;16\
M)Y1(/=!I46751AQ#N%@;-G68(:&T82/7:&+X'(06+*2T[8<2A@0.*6"4FF]6
M"8I*G/VP9F<("ZL ,\F^"OH80$HP$K.H88N51W&B*.*$MTP,Y^=%2A[_1C;6
M?&FXL)JPT.R+8@ "I HS,XLL:C"2:,3A481QQ;(E9IN;+!GI*G1@6&G8B/:U
M,40!$H>%FD4=-1K=G)_$[$EN\>-YRH6:S3-UC&Y$)59\6+&,T.YKQ@(&)!TW
M0XN"N!'J6\44TGF14+:BG>T.)W3-&\#-"4WM'LJ(55A1>66A+RVG"2"!^?"T
MR*QGNJ_VI" JCC_+!)!((8KBCM.4%U19_^=#5I#7UOP;L6'5Y:#;UY0!"$A)
M=G86_=3(_>8')&S090%%-$<3LGH47S1'OJ(Y BV:HUU$<_M @8CFS82LOHDO
MFC>^HGD#6C1O=A(-K_BH;<T)__&2W=('T^9L*S**9'2J1L%L8?#DHG$;$XLP
M$/Z,,(DI$^E87;(K1N^S(K&[S#9X%,%82!M5,\#"DXZ9X)A^6H>XL8O:UBBG
M?/0C:6!Q6ID^27,3HS#P1-(G-MJX*'1,25S1LL+Y?V4KYT#<#(XB#R-AHTAZ
M2'A2,=$;$XRR0=PHQL"ZEJM8T# >)1L\#W<$V$!K>P2X\Q"$"$R,]"/ :O9$
M@4)7L] H(]C2(O0?!ZMD ZFVCCO/8%2Q3DBK8?E=<TR,#UE<BI=?W='"OD%
MAX2J:1NYIK:'ST'4N(74L-8E#$E<I-EX<3%7:6Z^.\^"]>Q#.FU'WCP 4;M#
M-EHWW3P/7)N_LJSB;Q;7&:V+>I7'M&_0@@M5RTZ:38T;02!JW\5LJ(0:B_K@
MP+*XH7F69%56+#[RP2?+L"E7)E H0=@)-FK0$2"D8*4UU,$6B!ID8!%<,2)$
M2'A%R$. XCY&=CF?&WM[%SB4*,8)-^*P(T&(9)3>4"S<X"#I6"!E@J1-7-F<
ME^6:L$GB,9A$DI"5O$5(&AZBG&PD1T6E#&-JZX8D:]X_;EX?S6ZS*C<-+G5(
ML#[)0J[MD0;/06C#0FJH!?D,T3EZ??3-[%O46 6N_@MZR["X<_]FLYS1W'+[
ME!$52@0.BHT.#! 04K#S&JKA@J(:BA0VQNU4/;*&[ R>AQ* D593];V'("K=
MQ$C[^'MU':G)/WU,[C@I8CF08(:%;OI-)(?-?Q<#0@(.8MJ@I(:B!AOC0,*V
MRUJ,.P&+:$[ 8L0)6$!T A:^3L BFA/0O%9=$<+;I<M9GBVPY7)")SJT*!R4
MA_HP0$%)Q<[/VF:T)FAK$_I&2WG%F8AJQ);R_6?\!T,N+;A@=UJZ:+:76II
M(#3B8J9=:ZDNG>N D4"'UL4ZS2J2*C)G68&+),-Y>SVB:49\W"286CS)M\(9
MP</0D!])34[*K+G+L#7<7G49>BI=;<#XE>3YWPKZ4-P07-*"I&HNQ;12Y,:'
MW3$S0KN_:<8"!B$G'X:6K3/"Z."+L$*-63T3%D5)O]!\7528R;/DS-0R67!A
ME6.AV5?,  1(*69F%H6T8*30<0YHJ]LC6B=+A6NT9M &#WQ<VTEZ<&K;B 6D
M&2=!VQGN^LZ/K6^LK"(=L:R(B!>1W9/WN,(U-VM^;?#0ARI=I(>G*4U80!)R
M$K2>GVQMQ%4QN-%4M"MCV EWM1;4L4M\@ I_<8Q&4;\[IH4 DH>)E^,&&88:
M;!0MW"QQGK];EUE!2GM'-$"%U8*18E\+/0@@+9AX6;0@H:C!1M'"Z9*P!>_>
M?F;TH;JK[V>UYLV"#JL-)^6^1HQ00%IQ\;-HIC%!RJ:Y4C>.>!ZW%XJK6Q;M
M.35  \O&2G:@&0T'23 V<II:<I*(^98+6J%;BCZ5!%5W!)W6T7N[-\&K=&)%
M&DD2<2!">>5%BIE)0BYP\*@C5L):[!$-"4)(H_3L<4A:"]28!%;-)=<PZX[C
M)(GSBBRMIQW&34(IR)=\HZ,Q/ @U>9(<:DJ:]0?7TA )RYBW&74OM[>[>#U0
M8,_80'#@&'<0(#1BI65SB[NQ N+<G;>>Y5EREE-LGV7I80+?F*?3&UR6MP4
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
MXRO_%=99N;9 ZD;H'7>6["-V*SK\-V2EK.M?@X+I$-S\#(?&H<KH@E2CGNL
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
MHCMEKRO520F :2YW8:W-O=9IH#H1I%(16SI4.JB3T#Z2247:,Z>ND'(,%GH
M0.'/S+RT&]@E:A_5N*B%;"]=<,4Z4I[H\WLRQ^N\0K+5CQ506_>R346LHP 5
MMX.<-G>VA<;6LQ[#ZQV94T9Z4=6,B_\^AH"J9QI?K_AE,YD ZD>5^]J"^H7=
M"NVJ(0<YR('\^JZP7UB_,1M WXTW54<C)W?$*GBD2I(+7U>,SC-CQ])Y#*CH
M3:S,*WH*%*ELVYN8W*&Z##! 9>UB9X^0U@O'&ZGXMX3%<5%3P#?5T2G<+7XD
MY>ECQ3!E?,B"V4:&3Q(3FMR2OS.795 17L"VR!$O]3I <@B12WV_:S>VLSRP
MNWTQVKZY\3MJO'SY/NJ_##5OBR?*EXOQ $HF_G0-]:U"J'_3F'\K#E:V%^-N
MDP!3B4\*?0"YVDP\/>NK8PJFGIXU)@#D>G/Q]:R_)HG.]P:G(I_Q.GS(U>B@
MZUF+:FVA3@(=CUY__X*U&.R:5C@UN@-ITZXA>1*Y203--N@;D0ZOWF_1UN<^
M]KHEZ@7K-]A-CG#J=P?2VHZ(.@EQ&K%.!#6I[".9SGX[3S!Z@V. Z@UXJ2&\
MBI[*W%K;8E_H-[U;B+ZMV^KM_;/1O^A@-__!J>@=2$]LL0'5[_^[BX_@Z"Q2
MQDUWW>PKM7;2WT?;5R,%$3W0X(]]"\4)&=S0?=0R0PTU)+@A12[6"E^(D^=P
M!#>9LK;45R<@MGBT2;3+M.BS3 :)=)!,*-:2^>3C2G#JR$+,>@' /I+ V 7M
M<U@#8"%W:3F*^,)]!>1+[JEYV1V4<*ID&E]MPTY]Z<!P856YTQ^<VRF[?_K
M?^)_;O[$_YGQ[HO_Y7\!4$L#!!0    ( /-6)E;/\PZ3+1,  (43 0 5
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
M^$?X#SX;_@M[K-GN)%'^QT<3-8L3.-.2SBA'R.+E'=V_\U9^Q-?";Z(&09X
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
MS?2:)?$BCQ<;QXG8?54/9KLE+BJ&H>>>Q&XB4>?QU)^$RK#_9:C\=)58 5%
M%&[*B(XZ$$K*.E%KO*>T.TT=<('UI?B&J7<C02WT+QHN]SE<[M>&RZWE<N^&
M-C&TW<I5GMP+'[)'$S4FP/)50G+9H#GR/<P%2+/-W$]H_FKG$.@([# UJO?7
M9&+H3L%0 JF=4UNWR9ZDCL3>,4NEN.6"\MA!WPH<#K/"?'&NT$%KLO3(%2-J
M^48VP<P =;A<0."WY-8I.>1N_Q4Q"XT:7O19R>J/&V:TEAGM#P<G9OPNL"-+
M?\5 2,+V+E!8(%J0R$BT#M@XN10B-=0F64;RI<G2)'JLZEW8'E$2=T1/Z[1;
MJ<KH1T[6)%<8+Y;&LE!1O7'H"#EI34;L!KIJ0OVW1&Q-:<A5V9[D87M]>M(?
M]$XDS"\YSVL$1:<N[]FJ"U.>/L2)ST[BW$2AZ$OBU=D\JROV>* ?4GU%[E#)
M\PA%D%4=,Q10INQ#U$ZB2D9!.5B,B4>:<HYJ,P_XP2#+]<**YS-]+C"0=)QB
MH@.L)KC&[KBK$DWY*MS'-%XL0_2+D.L#X90_8*H","528CJ>DQV>/VT/2\US
M\+-^82MJ2G#>*/,+P.A4;!?).Z5W* E= !UXANS6F%.:>:;CH[&YD7O>/\(
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
M<<N:L*79-XE,&V)UZ[UTI#-.7J+(+JW*&<WRO%PBIQ+Z2W\KP4-)H([?(=]
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
M. O7#!*B5D(^547+R,(^<YU,*9E6^)"'#>6\"#81G),UP38Y5X\9DRR_WYC
M+O?+<PU$J</W]R%./K9;KTV2GPNT0V2/$I&A<$H47TCW"?+7<=P%3\;GPG0]
M!H_WH'2@2Z]KH&M.=K>L:D08 V=):1*W!8/;N",LQ,]PC@L+ 'A_#N#=048T
M#+&+O"54Q4X;ZM,T!)B3DP&!2;,H*6<J-3G?S(G9KTFH(BT&$:N<YXE5;\;(
MD8B)'$F'+_N!_["8NE$JBJ&IZI/J-4$>@<0KI@]11G@U+Q6GX>7S73O>(@XL
M'#L\]R>=2OMZ%ACY6 FGRXAIIX4@((@XTM<V1R2($$#*+XQH4OPW!HKLIT;Z
M8([*,W6FTV2E^%0,9IQ+%]@:!QD&[)L19!VO,-*;1[G)[+-VB\>]%TYL05$Z
M.\ZBYYX*M^+6V,Y2VA"D_.4;"U+N!%Q?QJ3\GFI6:>X.J&QP-M*Y>TTO_&]
MF6PLR/7*Y)LA!ZWK,9L5RK4S89R>QXFR8S91\$[S^4IIQPYZI,A'(=6E4MQ7
M54!MQ*5CRKY<=WN>Q])NN8DL6;'G9K(F;<>D6#J.^-*E3C(/)>_8IEG*+Z1@
MXF<!4;M5LCC!GJ7L<9O"VEB*C:7X9:K1^R?CD>T) G\.3M[8?+R3+>B:BJ+
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
M;5>+)38+#"^9=>RZ<^;W@P=/=X,'TWAYV<E?&+Q+E"7Q8K&*]-2VV)-)L""
M:/P4SFJ*@]64FQY+[R+39!(;".*LJH69.!J!SJU6IL51#%8$SAU?>[V5!C7H
MPAT-L?T0S4:EQJ_E$[1;USV"]^#)0QJ,"FLME@"NTL^R<^QHE%Q]@)>D+3QX
M^K#=DB:(J<JH-VXVIZGIU%5)YB#3U#H=84=TWBEU2.0YNQKDM!_Q3#\<R@[[
MOG3%L^U86*L)$(!@B0L_M1.G_[.F8]2U.Q)>R_;A_R&Z;S4,^3IT\8___O4E
MT,8S_*\X3E'/N73Z P/Z+;'3<'@GQ/\=92[/;Y^Y[(,(.>/VS^<@9*2A,RJ;
M2]#4- ^:GJCL0JE(YKR<Z30CM12G"5B^XF J4=:<YF,%FCMMY@+F0LN,%]33
M>08-RKB.IV?YB +L^BQX ?)H'D?TOD(@+.(>OIVP;*[.=]6(JFVQZ<7M8Q/:
M4^AO<KL6!P$-2PKT;*82.Q^)QVLOEZ+9<!=6L#&R>/K1OLUUR-*\XVW?\4\[
M>,?8+S!EH0Z4=Y3L=>"?%/\%R4J*Y4%LFORJ?Z\TJ 3XVDV/X2!0/*,J%N$*
MW*+CJ7/@+\ "Q**TP^Q*[*;C14H%9D94^>(:?M.@RK:H\O/MHTH_ D[@AW9>
MQBK%YM)H>>@DQ2ELP8\XBD '0<BL/.6AP>3TH5NMFD!HXQ6QAF^I+)[1!)#J
M V1)]OJP867Y"]R/+ 966 "NA;C@U(<5<60;W8T-VNEV862IC'DK+>ZP-!FY
M8S@:NGEV/H'@^\'&7W8MG B34M-U_<]D#[\ZX?]0!RG\HYOX$SWUHM4".VN@
MACY#L43OM:K1)-AR-<G%%*%4\\JW?>6_WOXK?T^^T))Z:G,X2'G4J3NB)%XH
M4#;%"L4Q@94!DQWG_=8[2XPF2\NBCP:4'\7HHE@OGOJXT^P2Y:<9L=SQEL9[
MFG]EYR]KV C8SED'36.>X_# 2."ECVH5L,Y)$K,+&#!W!:(1V_;[9S1[=HE?
M3RX[=KKE9)*H<^WGBMJEL9\QB',6 QP;S-T2<Y\\WH'3)PR+C9I+_A;VO].L
M-VS;'."TSQS1@5,YBA-K1QK=*N2#0.QAT?G #W$RZ=F\J(KG0S*1&#!$L8I(
MFCI:O.CU*C7*5XK4)/X<C#2(1B]S04N!AX?B/(%++BGP4^Y#W3'+^I,48Z4&
M247%<\: F-G(>UX7*> CCY2(),=1Y#P^K-T*8M@N<FJ>L'YI'4X7&D1]"*9E
MYE W3N=P*1>DP(0)5.9$VU?"9&]TCRS.0!&H7)V_$!KVXH[C(TJN[IW,:!7R
MRCBKVKP),T%%+>-49SA=A:&)K"9W6N'K6T1ZLDH;J^EZ]+P+9WZ5O<L('J.&
MHB]LA3-1-,\41L2>H3.%G8+9)75W5Y_4=(53=R.9F+5^53*IA+S121G3G' D
M@/PNP!8X1K;:8LYM@Q\6/W;@Y&=-15@%,L0*_[;<PIFJ)'8S\<@,M%-WWI(P
M+I[3@TI"9B2\55U=7<;@X#;QGCOO:GY"KN8QRA\7#G)^JWZ)3.$+XH04.N"Q
M:IE1\ &'7<//H1^=K4"/:CS3ZREB!Y[I"D60**S00D$U!YA@G :5;!2R-!)]
M!<(X5[@C6@+U?(=6G+@3:E> =:QBF]LZ@B;166C(I9P, 20&:HLD@IA=(P*%
M8;LEZVCT;ZQX$%RN=EBG5<-_M\6V'7BN3]>^%H-R$J;P;52^A (DGFF$RJO3
MW^$73*$PB("2EOQ 5NLUHRY9GAN\L69E92P+Q3A(DY88BZNZ-IBS+>;LP!_.
M?,KW+LAIA+(D]7BF7I)H<5NS+6$Q*' \@[IBJ_'-.'A57-X8F]-@ F%'"G^]
MS/;ZL[++/%TE'"$SCY3/QF2S/BRVZSKL[5@3JJ8Y12G:GI)3)N%"Q%=^;KH*
M2<F84E"1+$FX"*TAG+ZWNLK]N2E1]NDW-O.NR5JS66L[3EL[[8X.^MT!SSX^
MZ@^&HR9[[5KOZ.E.LM=.REZ/JNIV)NUWD<%-8?68/G XI]UBMY:9&UU[+;%&
MR929J$BA\8S3/K$M:2,3MWWY.[!FMWCY;K[(RL9-S&O&8GX*$MMWC=_PG8Y+
M3I0HB0 RQD@VUU:(0U<X.[F#2'-'>?INF?J?PSY<.WP_Z#7,_'HOY]DNF3E9
MX,AO+V(D( H3, FF5'= A >6RM_4'3I3D4]Q*?F#W-X8(,!)XO*=X=Z<M(F6
M]D*AWSQE4D>OE;3VZ#!;IQ_R* /HP;"!C -;UA[J%#D"Y182HR"J;[<DJ_K2
MA+V(#<A!2(TN!D!*5XCA1V99SD"DX(.^%3_3PO^;'+>YI3A!JS(ZH]WJ6;N%
MWCO,%M64+4LK1/DRN8')OWL^@(X,Q06="<X>)VXHQ(DYN/L5QT0)#,8<P3V@
MWD]^8I='R]'S4"8.V98 "H>+*'Y9M$OO( >]HV2Z,R>R8^BQXPQ-23IAA^-M
M;@H5#8?-O1SM5FX3@EV#@2?UR<=LZXXQ8%U13M3XKW_]&<\C[\\XDA*L(_2I
MT<=2_4_!7L4PN43>985-]Y(R\*]_'25[?!E6;^6/75=!=&=P\&Y*\7<[%>)O
M^@>G^_WNJ-^4$UWOU3S_$C*<4G,7.@(%/<'@1T=<D?B7T9D[)&FI<W"GW9JN
MY,(,6W(K99-+G!06DB]@@A4=Z;ET=D-78KM5=0E,:[">=+_@J>?LEUCL Y//
MX%YKA'%! X#GS/7"XP#]HF-LA%J)2-$R4[]"O$ZGGLQ?]_KOJ!8D7F5<3#)3
M"67 .WH %I3&E.;#C].)N/& ) IU,>0@5OA9\AMHD34A",XUPEJ7)E"P/1GM
MHAH+/:"(<52$!$0R55P>A%3K^9/XW!&5>689!9!6F(0B&,>1 *M0F7!#00-S
MX@0HB2_F\<*;*XY29J1'NC'^\IV2?U;6V4QBCFN A\ %3,*JJ'.!CTDXUXD*
M-WAG\>[9EPJ' F95;)4<:] # QPJH3B29!T5F%G'C5;FZ4R<4):6JMC\W* I
M61@H.S!JSE4=5*8W8U435E/_7E'ECA@Q[1;7J_N2YE4VFLJ;,;:/+-,Q97OX
MB!B-)SRULQG'.MO,YT&BT6U%4ZN8@L.AMT)FW0UB&,^:&,8WJBGO5E%^W1W\
MD\,7X]'IR=C;'QX==P>-VGS-]_1B)VJS">_FH7G.P!.6./&CCUQ:C&-JIC2F
M!HL9,[:RD4.U6X4R5V(ZU;I%9FS4<B2U:7Y!IY)HPAXOX'MV'T8A35=+\@>!
M;N)JE5-I,:UL?7%&&2_L%<@N2XH&;A23O[U!G-_JI0H1 SN3I-R&I4,%W7CO
MY/)1Z%^DF)F>QB%E$DKJ(O<L<)\)FX]GI##;IP-$(S55:4HIO+D'P]5D:H$L
M^DQJ]):9/\W%'[NV9KX.T9,!G)S]' 7@@RI6EQ1'#XJ+"IF;,99?C!ECMOA#
M1Z0CF3ON:L;MW62ONXTF[ \')[W1N^YX.#KQAB/DKT?]\;C7,-CKO:F?=NF7
M +Y"OO%JI'":3S.B()YQ2:R)%*^]?'VL>+.B> >I^(YBQUV*)#MH(,'D+6+'
M:W#HVX@4WU&DV($M?#VDH%*B*9K,'%.D]YXGAK.IZ[SQJN_PV\6).RKN=ROO
M1[W]7O]=DSIPS3?S\]?* TMDW%HMW5$%(?]L,@QB[HXX5SD[3]&_GZIP1JUC
MX+:&%K>FQ=T2X_%A[^ /4+7)OT$?F@3-:[ZF7W9"F&/'\4I%#28N$:=Y;KJW
MI-%N0;G6E:M8;"&KB849!7O),^",:3Z)XX^IL9V=D5<%ORT6KZI/&/Q*T;NQ
MH!I%%>3K*65=LL@&%#HA=&1J>Z<^;)L<PF6/LKD9^R7JM%R\<5<C&W>26_3_
MVK&A/CH>CKKC/ACL':][<C+<[YM/O?'^7L,VKO.^?MU-5U(A(!NG1IN]4N)>
M9\5;LN]@#,A.NNMXT_DJF<ZIM84^T_$*XTG!:FI_I1H2ZF4\0V=D@@D&V.(T
M9@L^.?,C_1^Y>H8-J>5OO(!R"I<J2NF;1&&:X8);8B3Q3&<<!Y7^D)RB8%K,
M+4-)%,8NUTO^"QLR1W@_/!@S$.G;91QJ>KM\);)-F^&D,^K>RA4R3O?63J%W
M*Q;>7%*/UKPG*YZ0.[>ZOLE*B8\8OIL"P47/+C+EB0+V-ZNNUF[)<J6@\9Z9
M=X.?J=V(ZX NO^N:7B)<T*8K31-LT5(A<)V;5"!A>!_K0><)Y& 7=<#K>).5
M^'VM"S^-"Y%Y>.Y,3YV:.@.QY2H1CSH5]V&_;NT"KVP NK59Y7->Y4XG5U7!
MHXY?U?K474?^.O?YVGXW-_6:NY7D;K;@31SAFX*FSYN@Z3>J+.Q65SCNCL98
M'O"V?]R8$]<K@WV\PT#IEATL"HG]2],2V/0YOYK9.YVPZ^2D;4KD/$>>'H6<
M>I@'9$O7M5MT8:FV]@MSUOPH[=:W%F*\JSB_BV3 #<IP12O"]P?RGB:13,/5
M! /^+$$+56MTH>E<T9%N%ABGXJ4>F'!_H;$)=W6CG@'TP>@'#UU<IS1%T">4
M&,F.SH66?&%S':O%WD$,NYOB;K=^M,'PJ#_H]3R<_].D!EV7_'<TH:/49J[2
MTKYLV=C.;H7,'V#QIG:N2/O%\K>D8$/;M)\$>RPG-@?>-14+RW&QEBQ)3")U
M;)\]KPN"KW(:/P1;*3]2F3TYFT!Q9C8AZQ3%(R8PR]6FB1^*>K<=)AGUJV3*
M7>4M$[N#'.BN(OD.99R# A:/)[;7<=XFTA0ABBT-DH52O68T)2O_,;U<3.+0
M;9Y['G]4[#Q@&[ST5%OA47ZX[W:EK-^$Y^P!T+RTB0:_ML:OG26V8])XMJEY
MIBA8C N"&Z;5)8TY\DV#+H,?F).N@M19MJX99Y5-@UHN2Q#3Q5QSGJDF5\9+
M'3G=Y/)N.<2U;+N<')-UA+D#^+QH2DS.7TSTV0HYGOH$7Z>LF4DU4Z68EW:Q
M\*.($Y0HWM%Q#2T;+[6$66WD \R\8[/R,944/9-^<*Y3]JP"1*<H-<@@J4RZ
M83-%X%IHFNJG7O5)_( \E9Z\9[:80&JC"^>1$3@\C,\.#G+J 2KI&+*;&WB6
M7C2>I6]6U=ZMKOUZ-/QG;R3JRTFC<G^6M-A-6Z$NS=_D6(0DA@1F% -W4.X(
M1S$]GFMZ.'/)IA2*&D</*0YP"8@&/PFX&^!,RN"<NLUM192-..!.@YAT')9(
M^2*Y*K*%8"HUB<9^T,(#4XHNL$R4[K_KP5,I*,#*,$?Y6B;:=A!V%I.VE1D+
MPE2@JZ>V.RJ++6#:"G0Q#I3880LBT<R@0GN+ZQW#6-%BK]WJ1I=NM$;>)>ZY
MD^?<51[^64_K>&O/S3U"J&%G&5Y\/JS-I6R#.M$M[[(HL!IWW?68Q\[Z8UQ?
MU:2X9;VR*415U35OA[(W:J!V]MJ:AHU?3 -U4O!S+GS["F@.(J?33T4!Y9%!
M)0W4NWT%E'=S!PGZKJILN]79#KICDV0X/!D?=4?_;!2VZ_'<W;0.(\V$)7%]
MYVPWH; @N)$%D'=3I=@\[,&$I3:0)7" 0"?,Y1Z6*%426#).\>"A)86(F8P8
M\W"K!56&JM1#-<OL) ^\\0X2^%W%GIW,/O8HG\MB#SKXL/Q36V^TBLY5&"]=
M?^ R3C. T$?&-:J_S6?63_B]4M6'R$]"$*,>RKTW<"S\U#@6OETDWH&'LXS$
MU H([$%J '0U0N-<#X.5QAR)9&8A\DX[4Z#8H&.38GB6*-6TC_\,[-C!G(NN
M5T -"N5?F^G5X4C.]4(_DW%VU;4IR?,Z3+7C/= S.YXKQ"3&Q,/L^XYI<&32
M+$VV2O"PP;"M,6P'LRWRW"6WWL/5EFA6MQ?$JTGF3#YUT 2SD,! =#%C3H/!
ML5U%/G$,[$@5AA)9+N)9^7X9UF+-ZXI7:IV@ME:O,\W.;FI+Z=T@7(YP.QN)
M85ZMS/MV^_,)VB%SR7]A+2QAAP+Z*[)DI0);TNTTKD)CDC&D?'\^7<.@>CE'
MV\5U-U_;,#IA:F!S6&1JMVAK-(XO7MFJ)L,U+SF_73"P@LBR7O*2QUM+,3%6
M*[GJ)JW,X3S*N; ]6]EADBNRSGPJ\C^BK4)YZJF2ILG_7L7):M%0P-84L(O)
MUY6F,LX0(8NCC/&%7]C)9Q,:D!!"4=\T-\'1$?U%6;%@<.AP?=4!8PB@74G
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
M#0V&A_N_3(:Y5) JGS"W8A>=XG?^#)$F8:F;/V6^B>H0_Y9E,AGGT&5EY$!
MQ\U8^N"$*8"$MC]P]-S"8$I&>\]40I -X+Y!AN!\AB Y$ADOE Y\ITQK/,"P
M50RQK4BG3 /;!'0-#1W S7M?^N"\!=]DO#(2+\=G96T#B8\9FBEX@NTHV)@5
M5^MN.OE89'H&V Y_M0!A;SJ040%R_\A[FC-V'U6 X.L31K'PQDE'9^1UZ*3M
M#/#Q@W@6L![O^F%?Z"%&C8^$ O%YJJIMYI"K%?C;'(B2\[?C1Q:XT@//YQY>
M[B6I]?5G4;C^B? >#/MX@C%Y!)^PHQ4Q&5BFK4)5O2J4^X@)>]&T=.FQA_<,
M&293^S-4K/'1S!*S89>8 6YSPHA#2\>2C=JN6*JIXL#$Q^#\=LH\*;+5.V'*
MW-_NFP8]/'CU*)SL]-%Z5S27,494?E[=W#$7M6_U:JW),O5&]9BI-"Z8YOUY
MLWY1K]S]#&&/!O@%\'KQ*6K_' E!C/KUCA5: UI5NPD&/EG/K[,!D\'RTZQM
ME;S)CS "81E>RK8)&\,%7Y^MS!G^^U<IRQ=/;0;Q>K8\&J?S,N(HKGN<TW8[
ME?M'9^_N-7$H8\-??K_G@,=W9!NLS _R2]U@K!["_QD(,7W\2L]D$"8BF6GH
M(]1O(X,1.'8W0)G*\S*0UF)'@:IG#$YT#U%'XOQV (5;B_T D]\/,/=K-U,]
M)"975"1R@4:@D$\44$CP0YFR%X6H/5$&!*K2F!.BE"31K9)"LR_0Q'+A8INT
M.3!I_7G44@RG,-*?YP@;Q7 Q"XKX -O8NCR[2'M&P6_"38JKV./RJX^[^$K;
M\6*42Y?>WG9S1LJ#TGR00-!P98Y_>(#?>%[@'AX\[]AF"GT!<X:!KH'54GE6
M3,]SE&60&:Z)/O3PTBQ_KUQJ*CJOBT>S"_8]NN@[(,U;95.W[17SID.#+DH9
M@7<6\S"WEK43.SB>S>671^I&BP;^=!J,PNNC:#@4%$*A(.^B(!\="G[+7MX(
MM]D2:G;#H6!<*,;'B6("OSS"9[5C7!6%DLX%*R&Y8"%Z+EB_^YP=?;*>BV8[
M\5PP'Q^*YK)OG N&$\2\BX(1<D&KW;JHML_1GT)YYUPP1A3CED=-K\\%MV[;
MK6N[>37;NFD.1;A,Q(HM22 P29TBU!^H^A@A/#?>>68P-*2>:")FH(I:/$[.
MJ S8.;*>T%=^EKY@\4B^&!IX@VZ)5D\NB6OVXLDSM_;2;_'*XU.$"XWAY]YU
M6ZVV>M'X>,/3Y*J;L"C)81*4'#T!O]Y.1Q,,Y2/!T%CTY#]W-Q??J^.L52R$
M<XMO&0/GLBOB$"%OMB#K E-M328:@Q[]YTOSMCOB!]=EM*],M! S$^67*T#[
MST5K$7'1&/1LH5UZ[C]?]@=6)ZE<M! W%UVC<'D20_9];];B4\'U 3GX"!3P
M9.;D!5)S=D5JMNNO$3J6N?A4]J_BEV^_;OBQ];3^;>E.A)%G@Z+5Y5^0H<NB
MV5M(_B1T*7LZQP.\%!$B .ZUYQY&9B+XD$,L]L'YLZ%7E?'@XG<OFNB!K>'[
MVI;#CO']3:5L!]+#^0;T$)LEHG]IW>8^-PKH$KT^X1"[C9+6MUV) DI12(08
M;)W['R_HTBK\^'/![Y]$6,\*2K1$V,W]Q$JF4$V3@R-L]L9%-D>0,_=XM?B,
M$OZR<*\V7\8O3VOG+,1Y?1R;Q( @FN(;<&U50Z%6/($RS>_M7]J_?^Y1Y!<
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
MU!8RIGL-Z[$JDB?LV(=!C7\VOMV/M>_BC_+^Z5E5W;25+&1:^&0@T C9A>Q
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
MDC6<8(T2*\.J LFF57$(GXG&>-(+S;UTCJLC6@R)5Q#"<6LH(XA';D)[)J*
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
M   ?              "  ; '  !C96\Y,#9C97)T:69I8V%T:6]N,C R,C$Q
M,S N:'1M4$L! A0#%     @ \U8F5LQ%(U5L!P  $1\  !\
M ( !,PP  &-F;S,P,F-E<G1I9FEC871I;VXR,#(R,3$S,"YH=&U02P$"% ,4
M    " #S5B96+NY+]DX$  !Q$P  'P              @ '<$P  8V9O.3 V
M8V5R=&EF:6-A=&EO;C(P,C(Q,3,P+FAT;5!+ 0(4 Q0    ( /-6)E80@X6T
ML@0  $<=   1              "  6<8  !T87ED+3(P,C(Q,3,P+GAS9%!+
M 0(4 Q0    ( /-6)E9<,/,AP D  )AR   5              "  4@=  !T
M87ED+3(P,C(Q,3,P7V-A;"YX;6Q02P$"% ,4    " #S5B96TD<0FJ,%  ".
M+   %0              @ $[)P  =&%Y9"TR,#(R,3$S,%]D968N>&UL4$L!
M A0#%     @ \U8F5EGX]WF '0  5)(! !4              ( !$2T  '1A
M>60M,C R,C$Q,S!?;&%B+GAM;%!+ 0(4 Q0    ( /-6)E;/\PZ3+1,  (43
M 0 5              "  <1*  !T87ED+3(P,C(Q,3,P7W!R92YX;6Q02P$"
M% ,4    " #S5B96J)*GTYD^  !$!0( $@              @ $D7@  =&%Y
M9&)Y;&%W<S(P,C(N:'1M4$L! A0#%     @ \U8F5A??_.JRAP  T*P& !
M             ( ![9P  '1D:3$P<69Y,C-Q,BYH=&U02P4&      L "P#]
) @  S20!

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