<SEC-DOCUMENT>0000096536-21-000005.txt : 20210326
<SEC-HEADER>0000096536-21-000005.hdr.sgml : 20210326
<ACCEPTANCE-DATETIME>20210326090235
ACCESSION NUMBER:		0000096536-21-000005
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		26
CONFORMED PERIOD OF REPORT:	20210228
FILED AS OF DATE:		20210326
DATE AS OF CHANGE:		20210326

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:		21774910

	BUSINESS ADDRESS:	
		STREET 1:		90 TAYLOR DR
		STREET 2:		P O BOX 748
		CITY:			NORTH TONAWANDA
		STATE:			NY
		ZIP:			14120
		BUSINESS PHONE:		7166940800

	MAIL ADDRESS:	
		STREET 1:		90 TAYLOR DR
		CITY:			N TONAWANDA
		STATE:			NY
		ZIP:			14120-0748
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>tdi10qfy21q3.htm
<DESCRIPTION>TAYD 10Q FY21 Q3
<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/2020-01-31" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31" xmlns:us-roles="http://fasb.org/us-roles/2020-01-31" xmlns:country="http://xbrl.sec.gov/country/2020-01-31" xmlns:srt="http://fasb.org/srt/2020-01-31" xmlns:tayd="http://taylordevices.com/20210228">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<!-- Field: Set; Name: xdx; ID: xdx_029_US%2DGAAP%2D2020 -->
<!-- Field: Set; Name: xdx; ID: xdx_03F_tayd_taylordevices.com_20210228 -->
<!-- Field: Set; Name: xdx; ID: xdx_04C_20201201_20210228 -->
<!-- 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_051_edei%2D%2DDocumentFiscalYearFocus_2021 -->
<!-- Field: Set; Name: xdx; ID: xdx_05A_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0wNS0zMQ== -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DDocumentFiscalPeriodFocus_Q3 -->
<!-- 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="From2020-12-01to2021-02-28" name="dei:EntityCentralIndexKey">0000096536</ix:nonNumeric>
    <ix:nonNumeric contextRef="From2020-12-01to2021-02-28" format="ixt:booleanfalse" name="dei:AmendmentFlag">false</ix:nonNumeric>
    <ix:nonNumeric contextRef="From2020-12-01to2021-02-28" name="dei:DocumentFiscalYearFocus">2021</ix:nonNumeric>
    <ix:nonNumeric contextRef="From2020-12-01to2021-02-28" name="dei:CurrentFiscalYearEndDate">--05-31</ix:nonNumeric>
    <ix:nonNumeric contextRef="From2020-12-01to2021-02-28" name="dei:DocumentFiscalPeriodFocus">Q3</ix:nonNumeric>
    <ix:nonFraction name="us-gaap:ShortTermBankLoansAndNotesPayable" contextRef="AsOf2021-02-28" id="xdx2ixbrl0082" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2020-12-012021-02-28_us-gaap_CommonStockMember" id="xdx2ixbrl0178" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2019-12-012020-02-29_us-gaap_CommonStockMember" id="xdx2ixbrl0179" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2019-06-012020-02-29_us-gaap_CommonStockMember" id="xdx2ixbrl0181" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2020-12-012021-02-28_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0194" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2019-12-012020-02-29_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0195" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2019-06-012020-02-29_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0197" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" contextRef="From2020-12-012021-02-28_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0198" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" contextRef="From2019-12-012020-02-29_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0199" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2020-12-012021-02-28_us-gaap_TreasuryStockMember" id="xdx2ixbrl0222" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2019-12-012020-02-29_us-gaap_TreasuryStockMember" id="xdx2ixbrl0223" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2019-06-012020-02-29_us-gaap_TreasuryStockMember" id="xdx2ixbrl0225" unitRef="USD" xs:nil="true"></ix:nonFraction>
    <ix:nonFraction name="us-gaap:GainsLossesOnExtinguishmentOfDebt" contextRef="From2019-06-012020-02-29" id="xdx2ixbrl0251" unitRef="USD" xs:nil="true"></ix:nonFraction>
    </ix:hidden>
  <ix:references>
    <link:schemaRef xlink:href="tayd-20210228.xsd" xlink:type="simple" />
    </ix:references>
  <ix:resources>
    <xbrli:context id="From2020-12-01to2021-02-28">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-12-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-26">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-26</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-02-28">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-05-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-12-012020-02-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2019-12-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-06-012021-02-28">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-06-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-06-012020-02-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2019-06-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-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>2020-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-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>2019-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-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>2020-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-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>2019-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-12-012021-02-28_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>2020-12-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-12-012020-02-29_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>2019-12-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-06-012021-02-28_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>2020-06-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-06-012020-02-29_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>2019-06-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-02-28_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-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-02-29_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>2020-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-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>2020-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-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>2019-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-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>2020-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-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>2019-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-12-012021-02-28_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>2020-12-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-12-012020-02-29_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>2019-12-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-06-012021-02-28_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>2020-06-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-06-012020-02-29_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>2019-06-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-02-28_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-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-02-29_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>2020-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-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>2020-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-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>2019-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-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>2020-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-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>2019-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-12-012021-02-28_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>2020-12-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-12-012020-02-29_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>2019-12-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-06-012021-02-28_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>2020-06-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-06-012020-02-29_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>2019-06-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-02-28_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-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-02-29_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>2020-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-11-30_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-11-30_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-11-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-05-31_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-05-31_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-05-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-12-012021-02-28_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-12-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-12-012020-02-29_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2019-12-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-06-012021-02-28_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-06-01</xbrli:startDate>
        <xbrli:endDate>2021-02-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-06-012020-02-29_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2019-06-01</xbrli:startDate>
        <xbrli:endDate>2020-02-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-02-28_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-02-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-02-29_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-02-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-05-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000096536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-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_907_edei--DocumentType_c20201201__20210228_zmrU981vOXof"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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_c20201201__20210228_zakdzUb4r7Ul"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif"><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_905_edei--DocumentPeriodEndDate_c20201201__20210228_zSxN5CFfSpjg"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate">February
28, 2021</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_904_edei--DocumentTransitionReport_c20201201__20210228_zWeD49EMokg7"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" format="ixt:booleanfalse" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span></td>
    <td style="font-size: 10pt; font-weight: bold"><span style="font: 10pt Times New Roman, Times, Serif"><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_90D_edei--EntityFileNumber_c20201201__20210228_zvWW2rvJrSkl"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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_90B_edei--EntityRegistrantName_c20201201__20210228_zGi4bm10kVk3"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif"><span id="xdx_902_edei--EntityIncorporationStateCountryCode_c20201201__20210228_zOjVY6rHdgB6"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif"><span id="xdx_905_edei--EntityTaxIdentificationNumber_c20201201__20210228_zXB8MLRBeqJ3"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif">(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: 10pt Times New Roman, Times, Serif">(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: 10pt Times New Roman, Times, Serif"><span id="xdx_90E_edei--EntityAddressAddressLine1_c20201201__20210228_zn6ssVTMBSNd"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" name="dei:EntityAddressAddressLine1">90 Taylor Drive</ix:nonNumeric></span>, <span id="xdx_903_edei--EntityAddressCityOrTown_c20201201__20210228_zNMueRVNBZ66"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" name="dei:EntityAddressCityOrTown">North Tonawanda</ix:nonNumeric></span>, <span id="xdx_90F_edei--EntityAddressStateOrProvince_c20201201__20210228_zlFaPH1L9cd8"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif"><span id="xdx_908_edei--EntityAddressPostalZipCode_c20201201__20210228_zSrrwRvPh6th"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif">(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: 10pt Times New Roman, Times, Serif">(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_90E_edei--CityAreaCode_c20201201__20210228_zDebaUz4bhDj"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" name="dei:CityAreaCode">716</ix:nonNumeric></span>-<span id="xdx_90E_edei--LocalPhoneNumber_c20201201__20210228_zPzPG7WiCNr3"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif">(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: 10pt Times New Roman, Times, Serif">None</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">None</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">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_907_edei--EntityCurrentReportingStatus_c20201201__20210228_zwQflLdeRqod"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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;<span id="xdx_90B_edei--EntityInteractiveDataCurrent_c20201201__20210228_zvrPGytwnLM1"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif">Large accelerated filer </span><span style="font: 10pt MS Gothic, Helvetica, Sans-Serif">&#9744;</span></td>
    <td style="width: 34%; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">Accelerated filer </span><span style="font: 10pt MS Gothic, Helvetica, Sans-Serif">&#9744;</span></td></tr>
<tr style="vertical-align: top">
    <td style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><span id="xdx_901_edei--EntityFilerCategory_c20201201__20210228_zJtmLw5UAxka"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" name="dei:EntityFilerCategory">Non-accelerated Filer</ix:nonNumeric></span> </span><span style="font: 10pt MS Gothic, Helvetica, Sans-Serif">&#9746;</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">Smaller reporting company </span><span style="font: 10pt MS Gothic, Helvetica, Sans-Serif"><span id="xdx_900_edei--EntitySmallBusiness_c20201201__20210228_zh68FPE9jdtd"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif">Emerging growth company </span><span style="font: 10pt MS Gothic, Helvetica, Sans-Serif"><span id="xdx_900_edei--EntityEmergingGrowthCompany_c20201201__20210228_zt4VqCH4Sqfh"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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;<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_90C_edei--EntityShellCompany_c20201201__20210228_z7CZOxH4wnuf"><ix:nonNumeric contextRef="From2020-12-01to2021-02-28" 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: 10pt Times New Roman, Times, Serif">As
of March 26</span>, 2021, there were outstanding <span id="xdx_905_edei--EntityCommonStockSharesOutstanding_iI_c20210326_zKizwxseW6t1"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2021-03-26" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,488,510</ix:nonFraction></span> shares of the registrant&#8217;s common stock, par value $.025 per share.</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%">&#160;</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%">&#160;</td></tr></table></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"><b><span id="toc"></span>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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">Item 1.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif"><a href="#BalanceSheet">Condensed Consolidated Balance Sheets as of February 28, 2021 and May 31, 2020</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif"><a href="#IncomeStatement">Condensed Consolidated Statements of Income for the three and nine months ended February 28/29, 2021 and 2020</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif"><a href="#ShareholdersEquity">Condensed Consolidated Statements of Stockholders&#8217; Equity for the three and nine months ended February 28/29, 2021 and 2020</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif"><a href="#CashFlow">Condensed Consolidated Statements of Cash Flows for the nine months ended February 28/29, 2021 and 2020</a></span></td>
    <td colspan="2" style="border-right: white 1pt solid; border-bottom: white 1pt solid; text-align: right"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">10</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; width: 8%">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; width: 10%"><span style="font: 10pt Times New Roman, Times, Serif">Item 3.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; width: 64%"><span style="font: 10pt Times New Roman, Times, Serif"><a href="#QualitativeDisclosures">Quantitative and Qualitative Disclosures About Market Risk</a></span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; width: 9%">&#160;</td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid; width: 9%">
        <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">&#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 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: 10pt Times New Roman, Times, Serif">Item 4.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">Item 1.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">Item 1A.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">Item 2.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">Item 3.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">Item 4.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">Item 5.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">Item 6.</span></td>
    <td style="border-right: white 1pt solid; border-bottom: white 1pt solid"><span style="font: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">21</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 2; Options: NewSection; Value: 3 -->
    <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">&#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_305_111_zFpnaOufbYB3" 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_494_20210228_z86QwS8YJfY6">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_491_20200531_z1SpU6RG1li1">&#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">February 28,</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">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">2020</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_401_eus-gaap--AssetsAbstract_iB_zxnGbDYhNjzb" 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_406_eus-gaap--AssetsCurrentAbstract_i01B_zI4y5hAwakbk" 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_40E_eus-gaap--CashAndCashEquivalentsAtCarryingValue_i02I_maCzPkE_z3KFuoEDiZhf" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,084,718</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,159,827</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--ShortTermInvestments_i02I_maCzPkE_z72gskpdDlcf" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,090,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:ShortTermInvestments" contextRef="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,071,950</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--AccountsAndOtherReceivablesNetCurrent_i02I_maCzPkE_ziLd1Vl0WAt2" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,024,657</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,819,471</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--InventoryPartsAndComponentsNetOfReserves_i02I_maCzPkE_zBNlsSlpwQPi" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,550,215</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,107,437</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_i02I_maCzPkE_zCkBGEsBkWUf" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,011,367</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,754,573</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--OtherAssetsCurrent_i02I_maCzPkE_zaeMXTVbf1V8" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">931,241</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">510,360</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--AssetsCurrent_i01TI_mtCzPkE_maCzzzB_zBLGgTBTY1Xh" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,692,780</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,423,618</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_40E_eus-gaap--OtherInventoryNoncurrent_i01I_maCzzzB_zBHK7SQkHqVl" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,242,968</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">879,050</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maCzzzB_zbhqBa6cGDK6" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,558,066</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,407,490</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--OtherAssetsMiscellaneousNoncurrent_i01I_maCzzzB_zoeM2JQ2xKM2" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">199,380</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">195,621</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--DeferredTaxAssetsLiabilitiesNetNoncurrent_i01I_maCzzzB_zYPqNXSwyoa2" 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:DeferredTaxAssetsLiabilitiesNetNoncurrent" contextRef="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">170,115</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:DeferredTaxAssetsLiabilitiesNetNoncurrent" contextRef="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">170,115</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_mtCzzzB_zZe8lSTSRTc2" 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"><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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,863,309</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,075,894</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB_zBGDXqQMweUj" 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_40E_eus-gaap--LiabilitiesCurrentAbstract_i01B_z5AMkZqM29Uc" 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_404_eus-gaap--ShortTermBankLoansAndNotesPayable_i02I_maCzlHU_zwjTmOaC7Faa" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Short-term borrowings</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"><span style="-sec-ix-hidden: xdx2ixbrl0082">&#8212;</span>&#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">$</td><td style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShortTermBankLoansAndNotesPayable" contextRef="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,461,500</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--AccountsPayableCurrent_i02I_maCzlHU_zAgTREGqaxt6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <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">&#160;</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,205,800</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:AccountsPayableCurrent" contextRef="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,370,175</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--AccruedSalesCommissionCurrent_i02I_maCzlHU_zUKzG6wkvLO6" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Accrued commissions</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:AccruedSalesCommissionCurrent" contextRef="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">402,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 style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AccruedSalesCommissionCurrent" contextRef="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">305,885</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--OtherLiabilitiesCurrent_i02I_maCzlHU_zsjw9WKLh1y4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 17.25pt">Other 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:OtherLiabilitiesCurrent" contextRef="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,019,872</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:OtherLiabilitiesCurrent" contextRef="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,663,914</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--BillingsInExcessOfCostCurrent_i02I_maCzlHU_zL9HzS6Yfuke" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 17.25pt">Billings in excess of costs and estimated 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:BillingsInExcessOfCostCurrent" contextRef="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">633,216</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:BillingsInExcessOfCostCurrent" contextRef="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">736,866</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--LiabilitiesCurrent_i01TI_mtCzlHU_maCzUU6_zLIfQMnGymyk" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,261,008</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,538,340</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--StockholdersEquityAbstract_i01B_zRZyI8kmx6je" 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_405_eus-gaap--AdditionalPaidInCapitalCommonStock_i02I_maCzLNX_z4klpTxPZns2" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,946,679</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,860,006</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maCzLNX_zhYBw3uEwhT8" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,542,199</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,538,580</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--StockholdersEquityBeforeTreasuryStock_i02TI_mtCzLNX_maCz3DC_zJdHGb3jXc38" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt"><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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,488,878</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,398,586</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--TreasuryStockValue_i02NI_di_msCz3DC_zniE9Np6CSIa" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,886,577</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,861,032</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
<tr id="xdx_40C_eus-gaap--StockholdersEquity_i02TI_mtCz3DC_maCzUU6_zGZBPW9alRL" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,602,301</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,537,554</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--LiabilitiesAndStockholdersEquity_i02TI_mtCzUU6_zPSga3MJkmsj" 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"><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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,863,309</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,075,894</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: 3; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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_307_113_zMQNXyXwM8Yb" 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: 12pt Times New Roman, Times, Serif"><br /></span><span style="font: 10pt Times New Roman, Times, Serif">TAYLOR DEVICES, INC. AND SUBSIDIARY</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_498_20201201__20210228_zGUjcyH3yLC5">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_494_20191201__20200229_zhmvNqpdjApk">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_496_20200601__20210228_z5aPmStu5QQd">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_49F_20190601__20200229_zCdbWNaXD67g">&#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 February 28/29,</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="7" style="font-size: 10pt; text-align: center">For the nine months ended February 28/29,</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">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">2020</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">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">2020</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_403_eus-gaap--Revenues_maCzRta_zQkkptkeX1kh" 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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,772,371</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="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,234,195</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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,249,425</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,645,259</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_40F_eus-gaap--CostOfGoodsAndServicesSold_msCzRta_zrWupRDII8od" 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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,368,784</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="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,861,257</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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,714,882</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,947,722</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_40A_eus-gaap--GrossProfit_iT_mtCzRta_maCzMD9_z2IbaF2ud6d4" 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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">403,587</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="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,372,938</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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,543</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,697,537</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_409_eus-gaap--SellingGeneralAndAdministrativeExpense_msCzMD9_zhMySXA0rZd5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,223,275</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="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,437,981</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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,832,682</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,254,839</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_403_eus-gaap--OperatingIncomeLoss_iT_mtCzMD9_maCzj4K_z3M8msWbIHL2" 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;Operating income (loss)</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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">819,688</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:OperatingIncomeLoss" contextRef="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">934,957</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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,298,139</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:OperatingIncomeLoss" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,442,698</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_406_eus-gaap--OtherNonoperatingIncomeExpense_maCzj4K_zYzdEnrwkqmd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">643,006</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="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,795</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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,122,758</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,637</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_40D_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtCzj4K_maNILzlsu_zbZIizznpX57" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">&#160;&#160;&#160;&#160;&#160;Income (loss) 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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">176,682</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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">971,752</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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">824,619</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,543,335</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_40E_eus-gaap--IncomeTaxExpenseBenefit_msNILzlsu_zmrBBLq9ImMd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Provision for income taxes (benefit)</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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">359,000</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:IncomeTaxExpenseBenefit" contextRef="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">189,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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">179,000</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:IncomeTaxExpenseBenefit" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">489,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: 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--NetIncomeLoss_iT_mtNILzlsu_zxUfxx6a7yQ3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <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="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">182,318</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="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">782,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 style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,003,619</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,054,335</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_401_eus-gaap--EarningsPerShareBasicAndDiluted_zDzPV8jXODy3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <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:EarningsPerShareBasicAndDiluted" contextRef="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</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:EarningsPerShareBasicAndDiluted" contextRef="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.22</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:EarningsPerShareBasicAndDiluted" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.29</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:EarningsPerShareBasicAndDiluted" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.59</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 style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <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>
</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: 4; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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_30B_114_zGdZkNYb5RTk" summary="xdx: Statement - Condensed Consolidated Statements of Shareholders 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="ShareholdersEquity"></span>Condensed Consolidated Statements of Shareholders&#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 February 28/29,</td><td style="font-size: 10pt">&#160;</td>
    <td colspan="7" style="font-size: 10pt; text-align: center">For the nine months ended February 28/29,</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">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">2020</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">2020</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_989_eus-gaap--StockholdersEquity_iS_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zatGNAeq2lc9" style="width: 10%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,037</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_988_eus-gaap--StockholdersEquity_iS_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zfA71RcMCcSf" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,751</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_984_eus-gaap--StockholdersEquity_iS_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zMFdAaN8dKAb" style="width: 10%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-05-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,943</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_98A_eus-gaap--StockholdersEquity_iS_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zE52DdtLVegj" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-05-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,735</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_982_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zSGqrOGXxMo8" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2020-12-012021-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10</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_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zNQacMCsh0Xk" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2019-12-012020-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8</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_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zpqBCxEV4ZXa" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2020-06-012021-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29</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_98B_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zszhqgP3VSr4" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2019-06-012020-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24</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_988_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zC9BwzS6Giab" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0178">&#8212;</span>&#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_987_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zbp1yrNykA2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0179">&#8212;</span>&#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_989_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zylKj2qovUY1" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2020-06-012021-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">75</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--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zvtsCRYmM6Hb" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0181">&#8212;</span>&#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_985_eus-gaap--StockholdersEquity_iE_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zYtPhbwtJvA6" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,047</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_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zV3w7UbOsPj9" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,759</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_988_eus-gaap--StockholdersEquity_iE_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z1nSRt6gMaLe" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,047</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--StockholdersEquity_iE_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zuGE21TKw2J" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,759</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_98B_eus-gaap--StockholdersEquity_iS_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zQOh03UBcxob" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,841,612</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_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zzeiqcyhLOAf" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,601,166</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_981_eus-gaap--StockholdersEquity_iS_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zDmpj0RABdc" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-05-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,759,063</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_iS_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zSBfvHFYtV48" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-05-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,538,892</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_98B_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zOrTTjptyl01" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2020-12-012021-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,020</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--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zOVdIJQYF2P8" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2019-12-012020-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,372</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_98B_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zHWcEGPiXzvk" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2020-06-012021-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,382</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--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zlwIo2g0rcLc" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2019-06-012020-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,209</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_985_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zwRHPIO7VyX" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0194">&#8212;</span>&#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_98E_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zc8wZNnfyf8l" style="font-size: 10pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0195">&#8212;</span>&#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_983_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zo9EmZlNGbAf" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2020-06-012021-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,470</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--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zgMeaSUWZEq2" style="font-size: 10pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0197">&#8212;</span>&#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_98C_eus-gaap--AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zB2TMJkGCJc8" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0198">&#8212;</span>&#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_984_eus-gaap--AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zaJpmgUqV2g8" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0199">&#8212;</span>&#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_98A_eus-gaap--AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zuYcv5ke8m48" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" contextRef="From2020-06-012021-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,717</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_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_z41zW5kCRaA6" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" contextRef="From2019-06-012020-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,437</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_989_eus-gaap--StockholdersEquity_iE_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zfZOvD3nuHfk" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,845,632</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_98B_eus-gaap--StockholdersEquity_iE_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zbV7YtBbutog" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,604,538</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_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zbMkk361ZJA6" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,845,632</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_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--AdditionalPaidInCapitalMember_zBpH9OSfGVz5" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,604,538</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_98E_eus-gaap--StockholdersEquity_iS_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zJNogDfVliLk" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,359,881</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_iS_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zifgbHHWJDV2" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,780,187</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_iS_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_z5ZHWqUJoLid" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-05-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,538,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 id="xdx_987_eus-gaap--StockholdersEquity_iS_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zZ6YnIZ5brC9" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-05-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,508,604</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_980_eus-gaap--NetIncomeLoss_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zCG8sQQiI9zg" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-12-012021-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">182,318</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_980_eus-gaap--NetIncomeLoss_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zMtpgZXFSwD2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2019-12-012020-02-29_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">782,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">&#160;</td><td id="xdx_983_eus-gaap--NetIncomeLoss_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zswGevcjCsib" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-06-012021-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,003,619</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--NetIncomeLoss_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zxeXazx0rJcd" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2019-06-012020-02-29_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,054,335</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_982_eus-gaap--StockholdersEquity_iE_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zA8fmR3xZEK7" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,542,199</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_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zMBtxardLmU6" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-02-29_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,562,939</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_98B_eus-gaap--StockholdersEquity_iE_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_z9pnFKg5tgVh" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,542,199</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_98D_eus-gaap--StockholdersEquity_iE_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--RetainedEarningsMember_zotoSwlV3kWk" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-02-29_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,562,939</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; 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_988_eus-gaap--TreasuryStockValue_iS_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zTRs9CglUXI9" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2020-11-30_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,886,577</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 id="xdx_982_eus-gaap--TreasuryStockValue_iS_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zV4W8WxvE8Fd" style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2019-11-30_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,829,359</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</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--TreasuryStockValue_iS_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zDrWgLhK9BP" style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2020-05-31_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,861,032</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 id="xdx_988_eus-gaap--TreasuryStockValue_iS_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zqZ24gLqy4B7" style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2019-05-31_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,829,359</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</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;Acquisition of 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 id="xdx_980_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_z9ot1Mlf3ri2" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0222">&#8212;</span>&#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_98B_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zTLqKOGfhbx3" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0223">&#8212;</span>&#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_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_z19tE7Cd4yZk" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan" contextRef="From2020-06-012021-02-28_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">25,545</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_98E_eus-gaap--StockIssuedDuringPeriodValueEmployeeBenefitPlan_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zEd6GImbof86" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0225">&#8212;</span>&#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; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">&#160;&#160;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_987_eus-gaap--TreasuryStockValue_iE_c20201201__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zXQKY75TQzG7" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2021-02-28_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,886,577</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_985_eus-gaap--TreasuryStockValue_iE_c20191201__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zE6U8ghTA7Ok" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2020-02-29_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,829,359</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_985_eus-gaap--TreasuryStockValue_iE_c20200601__20210228__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zzmnkglsZYF7" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2021-02-28_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,886,577</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_988_eus-gaap--TreasuryStockValue_iE_c20190601__20200229__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockMember_zsZ2ISdBUu49" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2020-02-29_us-gaap_TreasuryStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,829,359</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_985_eus-gaap--StockholdersEquity_iI_c20210228_zYNJGEV2IJQ5" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,602,301</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_c20200229_zpAUentja4F2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,438,877</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_985_eus-gaap--StockholdersEquity_iI_c20210228_z1oeuLDZbpt3" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,602,301</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_c20200229_zsuIp9EiqxGg" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,438,877</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: 5; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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_zCUenOJEvfpa" summary="xdx: Statement - Condensed Consolidated Statements of Cash Flow" 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_498_20200601__20210228_zqBF4ufgvIt9">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" id="xdx_49F_20190601__20200229_zoq1BlvbsQ3h">&#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">February 28/29,</td></tr>
<tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 10pt">For the nine 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">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">2020</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_40A_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_iB_zHDwvXs3oBI1" 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_403_eus-gaap--NetIncomeLoss_i01_maCzesV_zFgqU6FzLqxc" 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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,003,619</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,054,335</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zKqNNr6Ijnu3" 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_402_eus-gaap--DepreciationDepletionAndAmortization_i01_zFCtxS6tT1Fa" 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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">938,493</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">841,194</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--StockOptionPlanExpense_i01_zh7E6MiYQyfk" 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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,717</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,437</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--GainsLossesOnExtinguishmentOfDebt_i01_zsCPTSLRueBi" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 5.4pt">&#160;&#160;&#160;Paycheck Protection Program loan forgiveness</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:GainsLossesOnExtinguishmentOfDebt" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,461,500</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"><span style="-sec-ix-hidden: xdx2ixbrl0251">&#8212;</span>&#160;&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i01B_z8KrYvauz8q7" 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;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_406_eus-gaap--IncreaseDecreaseInAccountsAndOtherReceivables_i01_zG5gGROHt5R" 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;Accounts and other receivables</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:IncreaseDecreaseInAccountsAndOtherReceivables" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">794,814</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:IncreaseDecreaseInAccountsAndOtherReceivables" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">282,105</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--IncreaseDecreaseInInventories_i01_zYuQLotoR508" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,193,304</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">595,847</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_407_eus-gaap--IncreaseDecreaseInUnbilledReceivables_i01_zXlBGKxBSndf" 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;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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">743,206</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:IncreaseDecreaseInUnbilledReceivables" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,441,173</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--IncreaseDecreaseInOtherCurrentAssets_i01_z259u2hbjPS2" 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;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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">420,881</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,522</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--IncreaseDecreaseInAccountsPayableTrade_i01_z9ynof3DIFrf" 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;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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">164,375</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:IncreaseDecreaseInAccountsPayableTrade" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">206,092</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--IncreaseDecreaseInOtherOperatingLiabilities_i01_z6231bJ3Zd9d" 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;Accrued commissions</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:IncreaseDecreaseInOtherOperatingLiabilities" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">96,235</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:IncreaseDecreaseInOtherOperatingLiabilities" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">794,442</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
<tr id="xdx_408_eus-gaap--IncreaseDecreaseInOtherCurrentLiabilities_i01_zAfvs30y1I25" 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 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:IncreaseDecreaseInOtherCurrentLiabilities" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">644,042</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:IncreaseDecreaseInOtherCurrentLiabilities" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">70,665</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
<tr id="xdx_40F_eus-gaap--IncreaseDecreaseInBillingInExcessOfCostOfEarnings_i01_zRFphVftEID4" 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;Billings in excess of costs and estimated 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:IncreaseDecreaseInBillingInExcessOfCostOfEarnings" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">103,650</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:IncreaseDecreaseInBillingInExcessOfCostOfEarnings" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,370,512</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i01T_z29FuSIY4qJe" 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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,024,940</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:NetCashProvidedByUsedInOperatingActivities" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,062,110</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="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_zWTYZNd6yT7d" 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_407_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoVHGFDU4kW3" 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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,089,069</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">992,272</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td></tr>
<tr id="xdx_408_eus-gaap--PaymentsForProceedsFromOtherInvestingActivities_iN_di_zKLsXJ4kTNj9" 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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,391</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,921</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
<tr id="xdx_400_eus-gaap--NetCashProvidedByUsedInInvestingActivities_iT_zEWRyynZssc5" 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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,111,460</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,006,193</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_408_eus-gaap--AdditionalCashFlowElementsFinancingActivitiesAbstract_iB_zFrs1pmw9cM8" 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_404_eus-gaap--ProceedsFromIssuanceOfCommonStock_zw5Y8Ewu43A2" 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="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,411</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="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,233</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--CashAndCashEquivalentsPeriodIncreaseDecrease_iT_zgVcrSKOJiQd" 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:CashAndCashEquivalentsPeriodIncreaseDecrease" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">924,891</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:CashAndCashEquivalentsPeriodIncreaseDecrease" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,066,150</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="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_401_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iS_zpl0QDmIirE" 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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,159,827</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="AsOf2019-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,071,822</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_409_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iE_zhA95CsKEIK7" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,084,718</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="AsOf2020-02-29" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,137,972</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: 6; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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="From2020-12-01to2021-02-28" escape="true" name="srt:CondensedFinancialStatementsTextBlock"><p id="xdx_803_esrt--CondensedFinancialStatementsTextBlock_zwyQ3WI9WRVg" style="font: bold 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">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 February 28, 2021 and May 31, 2020, the results
of operations for the three and nine months ended February 28/29, 2021 and 2020, and cash flows for the nine months ended February
28/29, 2021 and 2020. 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, 2020. </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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">4.</span></td><td style="text-align: justify"><span style="font-size: 10pt">For the nine-month periods ended February 28/29, 2021 and 2020, the
net income was divided by <span id="xdx_90E_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20200601__20210228_zNLp2VfHzDl2"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted" contextRef="From2020-06-012021-02-28" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,487,801</ix:nonFraction></span> and <span id="xdx_907_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20190601__20200229_zmVMsu4jcS0e"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted" contextRef="From2019-06-012020-02-29" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,479,033</ix:nonFraction></span> respectively, which is net of the Treasury shares, to calculate the net income
per share. For the three-month periods ended February 28/29, 2021 and 2020, the net income was divided by <span id="xdx_906_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20201201__20210228_z2wGm8u3oYsb"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted" contextRef="From2020-12-01to2021-02-28" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,487,599</ix:nonFraction></span> and <span id="xdx_908_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20191201__20200229_zPYSaaPSI5Rd"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted" contextRef="From2019-12-012020-02-29" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,478,914</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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">5.</span></td><td style="text-align: justify"><span style="font-size: 10pt">The results of operations for the three and nine month periods ended
February 28, 2021 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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">7.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Inventory: </span></td></tr></table>

<ix:nonNumeric contextRef="From2020-12-01to2021-02-28" escape="true" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zcjFDd6kXCVc" 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_499_20210228_zGwyEcUP0tM" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_493_20200531_z05LmsSsTMc6" 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">February 28, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2020</td></tr>
<tr id="xdx_401_eus-gaap--InventoryRawMaterials_iI_maIGzzgv_zslUh4DLEjol" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">584,191</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">658,024</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--InventoryWorkInProcess_iI_maIGzzgv_zJLwFhsDfDde" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,583,386</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,586,404</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--InventoryFinishedGoods_iI_maIGzzgv_z8AVCyuUlYpa" 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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">482,638</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">963,009</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--InventoryGross_iTI_mtIGzzgv_maINzeQ5_z8KpHYrfoMNa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,650,215</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,207,437</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--InventoryValuationReserves_iI_msINzeQ5_zHJmaaj0kzli" 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="AsOf2021-02-28" 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="AsOf2020-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_402_eus-gaap--InventoryNet_iTI_mtINzeQ5_z8iSfzVPKHFl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Net inventory</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="AsOf2021-02-28" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,550,215</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="AsOf2020-05-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,107,437</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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">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: 7; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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 nine months ended February 28, 2021, 39% of revenue was recorded for contracts in which
revenue was recognized over time while 61% was recognized at a point in time. In the nine months ended February 29, 2020, 60% of
revenue was recorded for contracts in which revenue was recognized over time while 40% 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 February 28, 2021 and May 31, 2020, 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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif">9.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Other Income:</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"><span style="font-family: Times New Roman, Times, Serif">During
the nine-month period ended February 28, 2021, the Company recorded $2,096,000 of Other income for funds received or receivable
from the U.S. federal government as financial assistance under provisions of the Coronavirus Aid, Relief, and Economic Security
(CARES) Act and the Consolidated Appropriations Act of 2021 (CAA). D</span>uring 2020, the Company received a loan totaling $1,462,000
from the SBA under the Paycheck Protection Program of the CARES Act. The CARES Act permits that a loan may be forgiven if certain
criteria are met. The Company has been notified by our bank that the SBA has approved our application to forgive the entire amount
of the debt. The Company also qualified for federal government assistance during the current fiscal year in the amount of $634,000
through Employee Retention Credit provisions of the CAA. The purpose of the Employee Retention Credit is to encourage employers
to keep employees on the payroll, even if they are not working during the covered period due to the effects of the coronavirus
outbreak.</p>

</ix:nonNumeric><p id="xdx_818_zaXLtBTiynH1" 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; 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: 8; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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 nine months ended February 28/29, 2021 and 2020</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">(5,396,000</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; 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,233,000</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-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">(422,000</td><td style="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-left: 5.4pt">Income (loss) 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,719,000</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-left: 5.4pt">Provision for income taxes (benefit)</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">(668,000</td><td style="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-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,051,000</td><td style="font-size: 10pt; 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">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">For financial statement presentation purposes,
the Company nets progress billings against the total costs incurred 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: 9; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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 nine months ended February 28, 2021 </b></span>(All figures discussed are for the nine months ended February 28, 2021 as compared
to the nine months ended February 29, 2020).</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">Nine months ended February 28/29</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">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2020</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">15,249,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">20,645,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">(5,396,000</td><td style="width: 1%; text-align: left">)</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: 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,715,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">13,948,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,233,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">-9</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">2,534,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">6,697,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,163,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">-62</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">17</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><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 26% decrease in net revenues and a decrease in net income of 51%. Revenues
recorded in the current </span>period for long-term construction projects (&#8220;Project(s)&#8221;) were 53% less than the level
recorded in the prior year. The Company had 38 Projects in process during the current period compared with 36 during the same period
last year. Revenues recorded in the current period for other-than long-term construction projects (non-projects) were 13% more
than the level recorded in the prior year. Total sales within the U.S. decreased 43% from the same period last year. Total sales
to Asia increased 78% from the same period of the prior year. Sales decreases were recorded over the same period last year to customers
involved in construction of buildings and bridges (44%) as well as in sales to customers in aerospace / defense (3%). There was
an increase in sales to industrial customers (5%). The significant decrease in domestic sales is primarily from the reduction in
sales to construction customers. Many prospective customers in the construction field have been delaying orders for several months
as they consider the potential effects of the current COVID pandemic on the economy.</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 17% in the current period is significantly lower than the 32% recorded in the same period of the prior year. The decrease in
gross profit as a percentage of revenue is primarily due to the significant reduction in domestic sales to construction customers.</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, construction 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">Nine months ended February 28/29</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">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2020</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">10</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">7</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">Construction</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">44</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">58</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">46</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>
<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"><span style="font-family: Times New Roman, Times, Serif">At
</span>February 29, 2020, the Company had 139 open sales orders in our backlog with a total sales value of $14.6 million. At February
28, 2021, the Company has 146 open sales orders in our backlog, and the total sales value is $18.8 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>

<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 nine-month periods ended February 28, 2021 and </span>February
29, 2020 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">Nine months ended February 28/29</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">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2020</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: 10pt Times New Roman, Times, Serif">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">64</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">83</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: 10pt Times New Roman, Times, Serif">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">24</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10</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: 10pt Times New Roman, Times, Serif">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">12</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7</td><td style="text-align: left">%</td></tr>
</table>

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


<!-- Field: Page; Sequence: 10; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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">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">Nine months ended February 28/29</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">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2020</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">Outside Commissions</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">504,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">830,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">(326,000</td><td style="width: 1%; text-align: left">)</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">-39</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">Other SG&amp;A</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">3,329,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">3,425,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">(96,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">-3</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">Total SG&amp;A</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,833,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,255,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">(422,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">-10</td><td style="padding-bottom: 2.5pt; 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">25</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">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Selling, general, and administrative expenses
decreased by 10% from the prior year. Outside commission expense decreased by 39% from last year's level due to lower levels of
commissionable sales. Other selling, general, and administrative expenses decreased 3% from last year to this 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"><span style="font-family: Times New Roman, Times, Serif">The
above factors resulted in an operating loss of $1,298,000 for the nine months ended </span>February 28, 2021, as compared to operating
income of $2,443,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"><span style="font-family: Times New Roman, Times, Serif">Other
income during the period includes $2,096,000 of financial assistance provided by the U.S. federal government as part </span>of
the Coronavirus Aid, Relief and Economic Security (CARES) Act and the Consolidated Appropriations Act of 2021 (CAA), discussed
below: a.) $1,462,000 of income due to the forgiveness of the loan by the Small Business Administration (SBA) under the Paycheck
Protection Program, and b.) $634,000 of Employee Retention Credit income.</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: 10pt 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-weight: bold">Summary comparison of the three months ended February 28/29, 2021 and 2020</td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 12pt; text-align: right">&#160;</td><td>&#160;</td>
    <td colspan="3" style="text-align: right">Increase /</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: right">(Decrease)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: right; padding-left: 5.4pt">Sales, net</td><td style="width: 10%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">(2,462,000</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">Cost of goods sold</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(492,000</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">Selling, general, and administrative expenses</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(215,000</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">Income (loss) before provision for income taxes</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(1,148,000</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">Provision for income taxes (benefit)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(548,000</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">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(600,000</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">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">For financial statement presentation purposes,
the Company nets progress billings against the total costs incurred 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>


<!-- Field: Page; Sequence: 11; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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"><span style="font-family: Times New Roman, Times, Serif"><b>For
the three months ended February 28, 2021 </b></span>(All figures discussed are for the three months ended February 28, 2021 as
compared to the three months ended February 29, 2020).</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 February 28/29</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">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2020</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">4,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">$</td><td style="width: 10%; text-align: right">7,234,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,462,000</td><td style="width: 1%; text-align: left">)</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">-34</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">4,369,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">4,861,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">(492,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">-10</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">403,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,373,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,970,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">-83</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">8</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 34% decrease in net revenues and a decrease in net income of 77%. Revenues
recorded in the current </span>period for long-term construction projects (&#8220;Project(s)&#8221;) were 46% less than the level
recorded in the prior year. The Company had 27 Projects in process during the current period as compared to 24 during the same
period last year. Revenues recorded in the current period for other-than long-term construction projects (non-projects) were 16%
less than the level recorded in the prior year. Total sales within the U.S. decreased 55% from the same period last year. Total
sales to Asia increased 42% from the same period of the prior year. An increase in sales was recorded over the same period last
year to industrial customers (38%). There were decreases in sales to customers involved in construction of buildings and bridges
(44%) as well as to customers in aerospace / defense (31%). The significant decrease in domestic sales is two-thirds from the reduction
in sales to construction customers and one-third from the reduction in sales to aerospace / defense customers. Many prospective
customers in the construction field have delayed orders for several months as they consider the potential effects of the current
COVID pandemic on the economy.</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 8% in the current period is significantly less than the same period of the prior year of 33%. The decrease in gross profit as
a percentage of revenue is primarily due to the significant reduction in domestic sales to construction customers, the decrease
in sales to aerospace / defense customers and the excess capacity in our facilities resulting from the lower volume of production
to support the lower level of sales.</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, construction 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 February 28/29</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">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2020</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">12</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">5</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">Construction</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">54</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">42</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">41</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"><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 February 28, 2021 and </span>February
29, 2020, 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 February 28/29</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">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2020</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: 10pt Times New Roman, Times, Serif">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">56</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">82</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: 10pt Times New Roman, Times, Serif">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">26</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12</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: 10pt Times New Roman, Times, Serif">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">18</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6</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">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 February 28/29</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">2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">2020</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">Outside Commissions</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">131,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">225,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">(94,000</td><td style="width: 1%; text-align: left">)</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">-42</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">Other SG&amp;A</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,092,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,213,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">(121,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">-10</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">Total SG&amp;A</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,223,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,438,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">(215,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">-15</td><td style="padding-bottom: 2.5pt; 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">26</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>


<!-- Field: Page; Sequence: 12; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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">Selling, general and administrative expenses
decreased by 15% from the prior year. Outside commission expense decreased by 42% from last year's level. Other selling, general,
and administrative expenses decreased 10% from last year to this.</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 loss of $820,000 for the three months ended </span>February 28, 2021, as compared to operating
income of $935,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"><span style="font-family: Times New Roman, Times, Serif">Other
income during the period includes </span>$634,000 of Employee Retention Credit income of the CAA, discussed below.</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">The Company expenses stock options using the
fair value recognition provisions of the FASB ASC. The Company recognized $50,000 and $55,000 of compensation cost for the nine-month
periods ended February 28/29, 2021 and 2020.</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">February<br /> 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">February<br /> 2020</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.750</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">1.750</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: 10pt Times New Roman, Times, Serif">3.9 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: 10pt Times New Roman, Times, Serif">3.8 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">34</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="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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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">2.88</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2.84</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>

<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 nine-month period ended February 28, 2021 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, 2020:</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">252,250</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.52</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">17,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">10.05</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">3,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.52</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">18,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">$</td><td style="font-size: 10pt; text-align: right">11.18</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 February 28, 2021:</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">247,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">$</td><td style="font-size: 10pt; text-align: right">11.32</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 February 28, 2021:</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">11.07</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>


<!-- Field: Page; Sequence: 13; Value: 3 -->
    <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="#toc" title="Table of Contents" style="font-style: italic">Table of Contents</a>&#160;</p></div>
    <!-- Field: /Page -->

<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, accrued commissions, billings in excess of costs and estimated earnings, and other current liabilities. 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 nine months ended
February 28, 2021 were $1,089,000 compared to $992,000 in the same period of the prior year. As of February 28, 2021, the Company
has commitments for capital expenditures totaling $260,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">During 2020, the Company received a loan totaling
$1,462,000 from the SBA under the Paycheck Protection Program of the CARES Act, in response to the Coronavirus pandemic described
below. The CARES Act permits that a loan may be forgiven if certain criteria are met. The Company has been notified by its bank
that the SBA has approved its application to forgive the entire amount of the debt. The Company also qualified for federal government
assistance during the current fiscal year in the amount of $634,000 through Employee Retention Credit provisions of the CAA. The
purpose of the Employee Retention Credit is to encourage employers to keep employees on the payroll, even if they are not working
during the covered period due to the effects of the coronavirus outbreak.</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">&#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%"><span style="font: 10pt Times New Roman, Times, Serif"><b>Inventory and Maintenance Inventory</b></span></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">February 28, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="7" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2020</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">584,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">658,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">(74,000</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 6%; text-align: right">-11</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">7,583,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">8,586,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">(1,003,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-12</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">383,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">863,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">(480,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">-56</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">8,550,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">87</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,107,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">92</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,557,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-15</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">1,243,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">13</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">879,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">8</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">364,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">41</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">9,793,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">10,986,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">(1,193,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">-11</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">1.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">1.7</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 nine-month period ended February 28, 2021.</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 $8,550,000 as of February 28,
2021, is $1,557,000 less than the prior year-end level of $10,107,000. Approximately 89% of the current inventory is work in process,
4% is finished goods, and 7% 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 $135,000 for the nine-month
periods ended February 28/29, 2021 and 2020. The Company continues to rework slow-moving inventory, where applicable, to convert
it to product to be used on customer orders.</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">February 28, 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">May 31, 2020</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; padding-left: 5.4pt">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">4,431,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">5,819,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,388,000</td><td style="width: 1%; font-size: 10pt; text-align: left">)</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">-24</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; padding-left: 5.4pt">Other 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">594,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">&#8212;&#160;&#160;</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">594,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">&#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">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">1,011,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,755,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">(744,000</td><td style="font-size: 10pt; 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">-42</td><td style="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: 1pt; padding-left: 5.4pt">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">633,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">737,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">(104,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">-14</td><td style="padding-bottom: 1pt; 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: 2.5pt; padding-left: 5.4pt">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">5,403,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,837,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">(1,434,000</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">)</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">-21</td><td style="padding-bottom: 2.5pt; 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><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-align: right; padding-left: 5.4pt">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">84</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">68</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: 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>


<!-- Field: Page; Sequence: 14; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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">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 $4,431,000 as of February 28, 2021 includes $211,000 of an allowance for doubtful accounts (&#8220;Allowance&#8221;).
The accounts receivable balance as of May 31, 2020 of $5,819,000 included an Allowance of $211,000. The number of an average day's
sales outstanding in accounts receivable (&#8220;DSO&#8221;) increased from 68 days at May 31, 2020 to 84 at February 28, 2021.
</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 third
quarter of the current fiscal year is 38% less than in the fourth quarter of the prior year. The level of accounts receivable at
the end of the current fiscal quarter is 24% less than the level at the end of the prior year. The decrease in the level of an
average day&#8217;s sales is off-set by the decrease in the level of accounts receivable 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.</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 $1,011,000
balance in this account at February 28, 2021 is 42% less than the prior year-end balance. This decrease 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. 83% of the CIEB balance as of the end of the last fiscal quarter, November
30, 2020, was billed to those customers in the current fiscal quarter ended February 28, 2021. 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">February 28, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2020</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">2,102,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,615,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">340,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">540,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,431,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,400,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">1,011,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,755,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">13</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10</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 $633,000 balance in this account at February 28, 2021 is down 14% from the $737,000
balance at the end of 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; text-align: justify">The balance in this account fluctuates in the
same manner and for the same reasons as the account &#8220;costs and estimated earnings in excess of billings,&#8221; discussed
above. Final delivery of product under these contracts is expected to occur during the next twelve months.</p>

<p style="font: 10pt Times New Roman, 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">February 28, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2020</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">1,960,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">7,794,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">1,144,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,781,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">183,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">3,276,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">633,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">737,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">7</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5</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">February 28, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2020</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">15</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">37</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">80</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">553,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">830,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">31</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">74</td><td style="text-align: left">%</td></tr>
</table>


<!-- Field: Page; Sequence: 15; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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">The Company's backlog of sales orders at February
28, 2021 is $18.8 million, up from the $9.8 million at the end of the prior year. $7.3 million of the current backlog is on Projects
already in progress.</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"><span style="font-family: Times New Roman, Times, Serif">Accounts
payable, at $1,206,000 as of February 28, 2021, is 12% less than the prior year-end. Commission expense on applicable sales orders
is recognized at the time revenue is recognized. The commission is paid following receipt of payment from the customers. Accrued
commissions as of February 28, 2021 are $402,000, up 31% from the $306,000 accrued at the prior year-end. This increase is primarily
due to a few recently completed Projects for which earned commissions are not yet payable. Other current liabilities decreased
39% from the prior year-end, to $1,020,000. This decrease is primarily due to a decrease in accrued incentive compensation and
customer advance payments</span>. 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"><b>Coronavirus Pandemic</b></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; text-align: justify">Company management currently does not have
reason to believe that the COVID-19 pandemic will adversely affect our ability to meet our obligations to our customers. Our top
priorities continue to be the health and safety of our employees and their families along with supporting our customers.&#160;
Thanks to the careful adherence to our COVID-19 safety measures by our workforce as well as our customers and suppliers, we remain
in a strong position with respect to being able to process existing orders and we are quite prepared to process new orders as they
are secured.&#160; Our high-spirited, healthy workforce continues to adjust their work schedules as the needs arise.</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 majority of our customers remain open to
continue to receive shipments from us and issue new purchase orders to us. Many of our domestic construction customers froze operations
while they attempted to determine the extent and impact of the pandemic on their projects. We are starting to see a thawing in
this domestic market as customers appear to gain confidence in the future of our economy. This has resulted in an increase in the
volume of domestic sales orders as we head into the final quarter of our fiscal year. While these new orders are expected to have
a small impact on the current fiscal year, we are optimistic that they will provide a strong base for the next.</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 liquidity of the Company remains strong
at this time. However, the pandemic isn&#8217;t over and the economy has not recovered yet. Management remains concerned about
the uncertainty of the length of time during which the virus will continue to affect some of our customers&#8217; purchasing plans.
The economic downturn did have a negative impact on our operations and for this reason, we have applied for and have received assistance
from the federal government under various provisions of the CARES Act and CAA, as discussed above.</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">Our Supply Chain Management team is in communication
with our partners around the globe so that we can be updated on any delays that may occur. To date, there have been no significant
delays in receiving our raw materials, purchased components or outside services that affect our final product. Global demand for
materials such as steel may see a sharp increase as the various economies improve around the world. We are starting to see longer
lead times to procure some materials. Management is monitoring this situation and adjusting our sourcing as necessary.</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; margin: 0; color: navy; 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; margin: 0; color: navy; 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 February 28, 2021 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>


<!-- Field: Page; Sequence: 16; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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; 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 February 28, 2021 that have materially
affected, or are reasonably likely to materially affect, the Company's control over financial reporting.</p>

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

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0"><span id="PartII"></span>Part II - Other Information</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: 10pt Times New Roman, Times, Serif">ITEM 1</span></td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><span id="LegalProceedings"></span>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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">ITEM 1A</span></td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><span id="RiskFactors"></span>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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">ITEM 2</span></td>
    <td colspan="9" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><span id="UseOfProceeds"></span>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: 10pt Times New Roman, Times, Serif">(a)</span></td>
    <td colspan="8" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">The Company sold no equity securities during the fiscal quarter ended February 28, 2021 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: 10pt Times New Roman, Times, Serif">(b)</span></td>
    <td colspan="8" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">(c)</span></td>
    <td colspan="8" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">Repurchases of Equity Securities &#8211; Quarter Ended February 28, 2021</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: 10pt Times New Roman, Times, Serif"><i>Period</i></span></td>
    <td colspan="2" style="border-top: Black 1pt solid; border-right: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif"><i>(a) Total Number of Shares Purchased</i></span></td>
    <td style="border-top: Black 1pt solid; border-right: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif"><i>(b) Average Price Paid Per Share</i></span></td>
    <td style="border-top: Black 1pt solid; border-right: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif"><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; border-right: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif"><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; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; 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; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">December 1, 2020 -</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; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">December 31, 2020</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: 10pt Times New Roman, Times, Serif">-</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: 10pt Times New Roman, Times, Serif">-</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: 10pt Times New Roman, Times, Serif">-</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: 10pt Times New Roman, Times, Serif">&#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; border-right: Black 1pt solid; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; 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-top: Black 1pt solid; 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-top: Black 1pt solid; 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-top: Black 1pt solid; 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; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">January 1, 2021 -</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; border-bottom: Black 1pt solid; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">January 31, 2021</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</span></td>
    <td style="border-right: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</span></td>
    <td style="border-right: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</span></td>
    <td style="border-right: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-&#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; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; 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; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">February 1, 2020 -</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; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">February 28, 2021</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: 10pt Times New Roman, Times, Serif">-</span></td>
    <td style="white-space: nowrap; vertical-align: top; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</span></td>
    <td style="border-right: Black 1pt solid; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</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: 10pt Times New Roman, Times, Serif">-&#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; border-right: Black 1pt solid; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; 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-top: Black 1pt solid; 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-top: Black 1pt solid; 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-top: Black 1pt solid; border-right: Black 1pt solid; white-space: nowrap; vertical-align: bottom; 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; border-bottom: Black 1pt solid; border-left: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">&#160;Total</span></td>
    <td colspan="2" style="border-right: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</span></td>
    <td style="border-right: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</span></td>
    <td style="border-right: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</span></td>
    <td style="border-right: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; vertical-align: bottom; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif">-</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"><span style="font: 10pt Times New Roman, Times, Serif">ITEM 3</span></td>
    <td colspan="9" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">ITEM 4</span></td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">ITEM 5</span></td>
    <td colspan="5" style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><span id="MoreInformation"></span>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: 10pt Times New Roman, Times, Serif">(a)</span></td>
    <td colspan="7" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">(b)</span></td>
    <td colspan="7" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">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: 17; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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: 10pt Times New Roman, Times, Serif">ITEM 6</span></td>
    <td style="white-space: nowrap; padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><span id="Exhibits"></span>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: 10pt Times New Roman, Times, Serif">31(i)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><a href="ceo302certification20210228.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: 10pt Times New Roman, Times, Serif">31(ii)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><a href="cfo302certification20210228.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: 10pt Times New Roman, Times, Serif">32(i)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><a href="ceo906certification20210228.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: 10pt Times New Roman, Times, Serif">32(ii)</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif"><a href="cfo906certification20210228.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: 10pt Times New Roman, Times, Serif">101.SCH</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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"><span style="font: 10pt Times New Roman, Times, Serif">1,</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"><span style="font: 10pt Times New Roman, Times, Serif">101.CAL</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">101.LAB</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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: 10pt Times New Roman, Times, Serif">101.PRE</span></td>
    <td colspan="5" style="padding-right: 5.4pt; padding-left: 5.4pt"><span style="font: 10pt Times New Roman, Times, Serif">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">&#160;</td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</td></tr>
</table>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 18; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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; margin: 0; color: navy; 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">&#160;</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 February 28, 2021, and the related condensed
consolidated statements of income and shareholders&#8217; equity for the three and nine months ended February 28, 2021 and February
29, 2020 and cash flows for the nine months ended February 28, 2021 and February 29, 2020, 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, 2020, 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 7, 2020, 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, 2020, 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"><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">March 26, 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">&#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: 19; Value: 3 -->
    <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="#toc" title="Table of Contents" style="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; margin: 0; color: navy; 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: 10pt Times New Roman, Times, Serif"><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: 10pt Times New Roman, Times, Serif">(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; border-bottom: white 1pt solid; border-left: white 1pt solid; width: 9%"><span style="font: 10pt Times New Roman, Times, Serif">Date:</span></td>
    <td style="width: 50%; text-align: justify"><span style="font: 10pt Times New Roman, Times, Serif">March 26, 2021</span></td>
    <td style="border-top: white 1pt solid; border-right: white 1pt solid; border-bottom: white 1pt solid; width: 4%">&#160;</td>
    <td style="border-top: white 1pt solid; border-bottom: white 1pt solid; width: 1%">&#160;</td>
    <td style="width: 36%"><span style="font: 10pt Times New Roman, Times, Serif"><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; border-right: white 1pt solid; border-bottom: 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>
        <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; border-right: white 1pt solid; border-bottom: 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; border-right: white 1pt solid; border-bottom: 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; border-right: white 1pt solid; border-bottom: 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></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; border-bottom: white 1pt solid; border-left: white 1pt solid; width: 8%"><span style="font: 10pt Times New Roman, Times, Serif">Date:</span></td>
    <td style="width: 51%; text-align: justify"><span style="font: 10pt Times New Roman, Times, Serif">March 26, 2021</span></td>
    <td style="border-top: white 1pt solid; border-right: white 1pt solid; border-bottom: white 1pt solid; width: 4%">&#160;</td>
    <td style="border-top: white 1pt solid; border-bottom: white 1pt solid; width: 1%">&#160;</td>
    <td style="width: 36%"><span style="font: 10pt Times New Roman, Times, Serif"><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/Adxj2Wkrth/AyKYksQiS6XXKKJd2R2c3ykXrLViUaBoaZM985Qvgipa2qkOGyzjMosG4qaRFyvCGjvqL7SHb7GNzM8a6MZantsP7AhByDjllMlld3Hz5bZbCMIZhNw9U0CiGYx2EEp4Pwej0hfVMlaqtkBVKXcGJqWKGV3I0OhXyTprobks7IRpGOIZwEo/yBKHB+R2rli/hhIMsS4flDeSJlejZ9zNNYqmFTYe2yzIj+2/sC3ppJGg== -->
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31
<SEQUENCE>2
<FILENAME>ceo302certification20210228.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: March 26, 2021</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>ceo906certification20210228.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">&nbsp;</P>

<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 February 28, 2021 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: March 26, 2021</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>cfo302certification20210228.htm
<DESCRIPTION>CFO 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(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: March 26, 2021</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>cfo906certification20210228.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">&nbsp;</P>

<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 February 28, 2021 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: March 26, 2021</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-20210228.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.6c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: +Kg5w7xRiXgOn8uCanEsSaWK2cPtxZV+WYlBs2dwbbkqbysnmCCp1S4mTLmGodcA -->
<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/2020-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31" xmlns:srt="http://fasb.org/srt/2020-01-31" xmlns:srt-types="http://fasb.org/srt-types/2020-01-31" xmlns:tayd="http://taylordevices.com/20210228" elementFormDefault="qualified" targetNamespace="http://taylordevices.com/20210228">
    <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/StatementsOfShareholdersEquity" id="StatementsOfShareholdersEquity">
	  <link:definition>00000004 - Statement - Condensed Consolidated Statements of Shareholders 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/StatementsOfCashFlow" id="StatementsOfCashFlow">
	  <link:definition>00000005 - Statement - Condensed Consolidated Statements of Cash Flow</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/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" id="NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative">
	  <link:definition>00000009 - 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-20210228_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-20210228_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-20210228_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-20210228_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/2020-01-31" schemaLocation="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd" />
    <import namespace="http://fasb.org/us-gaap/2020-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd" />
    <import namespace="http://fasb.org/us-types/2020-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2020-01-31" schemaLocation="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd" />
    <import namespace="http://fasb.org/srt/2020-01-31" schemaLocation="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd" />
    <import namespace="http://fasb.org/srt-types/2020-01-31" schemaLocation="http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>tayd-20210228_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.6c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://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-20210228.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/BalanceSheets" xlink:href="tayd-20210228.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfIncome" xlink:href="tayd-20210228.xsd#StatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfShareholdersEquity" xlink:href="tayd-20210228.xsd#StatementsOfShareholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfCashFlow" xlink:href="tayd-20210228.xsd#StatementsOfCashFlow" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:href="tayd-20210228.xsd#NotesToCondensedConsolidatedFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:href="tayd-20210228.xsd#NotesToCondensedConsolidatedFinancialStatementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/InventoryDetails" xlink:href="tayd-20210228.xsd#InventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:href="tayd-20210228.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaapDeferredTaxAssetsLiabilitiesNetNoncurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShortTermBankLoansAndNotesPayable" xlink:label="loc_us-gaapShortTermBankLoansAndNotesPayable" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapShortTermBankLoansAndNotesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="2" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="loc_us-gaapAccruedSalesCommissionCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedSalesCommissionCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent" />
      <link:calculationArc order="4" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BillingsInExcessOfCostCurrent" xlink:label="loc_us-gaapBillingsInExcessOfCostCurrent" />
      <link:calculationArc order="5" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="loc_us-gaapStockholdersEquityBeforeTreasuryStock" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
      <link:calculationArc order="2" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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/StatementsOfShareholdersEquity" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Shareholders Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfCashFlow" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flow" />
    <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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:title="00000009 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>tayd-20210228_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.6c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://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-20210228.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/BalanceSheets" xlink:href="tayd-20210228.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfIncome" xlink:href="tayd-20210228.xsd#StatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfShareholdersEquity" xlink:href="tayd-20210228.xsd#StatementsOfShareholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfCashFlow" xlink:href="tayd-20210228.xsd#StatementsOfCashFlow" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:href="tayd-20210228.xsd#NotesToCondensedConsolidatedFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:href="tayd-20210228.xsd#NotesToCondensedConsolidatedFinancialStatementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/InventoryDetails" xlink:href="tayd-20210228.xsd#InventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:href="tayd-20210228.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/StatementsOfShareholdersEquity" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Shareholders Equity">
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="loc_us-gaapTreasuryStockMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapTreasuryStockMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueEmployeeBenefitPlan_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueEmployeeBenefitPlan_50" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_50" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_50" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockValue_50" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfCashFlow" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flow" />
    <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/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:title="00000009 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>tayd-20210228_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.6c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockMember" xlink:to="us-gaap_TreasuryStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockMember_lbl" xml:lang="en-US">Treasury Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_lbl" xml:lang="en-US">Deferred income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShortTermBankLoansAndNotesPayable" xlink:label="us-gaap_ShortTermBankLoansAndNotesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBankLoansAndNotesPayable" xlink:to="us-gaap_ShortTermBankLoansAndNotesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBankLoansAndNotesPayable_lbl" xml:lang="en-US">Short-term borrowings</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="us-gaap_AccruedSalesCommissionCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalesCommissionCurrent" xlink:to="us-gaap_AccruedSalesCommissionCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedSalesCommissionCurrent_lbl" xml:lang="en-US">Accrued commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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 (loss)</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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 (loss) before provision for income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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 (benefit)</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDiluted" xlink:label="us-gaap_EarningsPerShareBasicAndDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAndDiluted" xlink:to="us-gaap_EarningsPerShareBasicAndDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAndDiluted_lbl" xml:lang="en-US">Basic and diluted earnings per common share</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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: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:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_TreasuryStockValue_2_lbl" xml:lang="en-US">Treasury Stock, Value, Beginning 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_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_TreasuryStockValue_3_lbl" xml:lang="en-US">Treasury Stock, Value, Ending Balance</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt_lbl" xml:lang="en-US">&#160;&#160;&#160;Paycheck Protection Program loan forgiveness</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:to="us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Accounts and other receivables</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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/2003/role/label" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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/2003/role/label" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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/2003/role/label" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Accrued commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:label="us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:to="us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic and Diluted</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_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_4_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_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_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2_lbl" xml:lang="en-US">Cash and Cash Equivalents, Period Increase (Decrease)</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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>tayd-20210228_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.6c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://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-20210228.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/BalanceSheets" xlink:href="tayd-20210228.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfIncome" xlink:href="tayd-20210228.xsd#StatementsOfIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfShareholdersEquity" xlink:href="tayd-20210228.xsd#StatementsOfShareholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/StatementsOfCashFlow" xlink:href="tayd-20210228.xsd#StatementsOfCashFlow" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements" xlink:href="tayd-20210228.xsd#NotesToCondensedConsolidatedFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables" xlink:href="tayd-20210228.xsd#NotesToCondensedConsolidatedFinancialStatementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/InventoryDetails" xlink:href="tayd-20210228.xsd#InventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:href="tayd-20210228.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/2020/dei-2020-01-31.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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/2020/dei-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaapDeferredTaxAssetsLiabilitiesNetNoncurrent" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShortTermBankLoansAndNotesPayable" xlink:label="loc_us-gaapShortTermBankLoansAndNotesPayable" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapShortTermBankLoansAndNotesPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="170" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="loc_us-gaapAccruedSalesCommissionCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedSalesCommissionCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent" />
      <link:presentationArc order="190" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BillingsInExcessOfCostCurrent" xlink:label="loc_us-gaapBillingsInExcessOfCostCurrent" />
      <link:presentationArc order="200" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="210" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="220" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock" />
      <link:presentationArc order="230" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="240" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="loc_us-gaapStockholdersEquityBeforeTreasuryStock" />
      <link:presentationArc order="250" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue" />
      <link:presentationArc order="260" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="270" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="280" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
      <link:presentationArc order="30" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="40" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense" />
      <link:presentationArc order="50" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="60" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="70" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="80" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDiluted" xlink:label="loc_us-gaapEarningsPerShareBasicAndDiluted" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasicAndDiluted" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://taylordevices.com/role/StatementsOfShareholdersEquity" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Shareholders Equity">
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="loc_us-gaapTreasuryStockMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapTreasuryStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="40" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" />
      <link:presentationArc order="50" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="60" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_3" />
      <link:presentationArc order="90" 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/StatementsOfCashFlow" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flow">
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaapGainsLossesOnExtinguishmentOfDebt" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapGainsLossesOnExtinguishmentOfDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="60" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsAndOtherReceivables" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsAndOtherReceivables" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaapIncreaseDecreaseInUnbilledReceivables" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInUnbilledReceivables" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="loc_us-gaapIncreaseDecreaseInOtherCurrentAssets" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherCurrentAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInOtherOperatingLiabilities" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInOtherCurrentLiabilities" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherCurrentLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:label="loc_us-gaapIncreaseDecreaseInBillingInExcessOfCostOfEarnings" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract" xlink:label="loc_us-gaapAdditionalCashFlowElementsInvestingActivitiesAbstract" />
      <link:presentationArc order="160" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="loc_us-gaapPaymentsForProceedsFromOtherInvestingActivities" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapPaymentsForProceedsFromOtherInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract" xlink:label="loc_us-gaapAdditionalCashFlowElementsFinancingActivitiesAbstract" />
      <link:presentationArc order="200" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaapCashAndCashEquivalentsPeriodIncreaseDecrease" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="230" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_2" />
      <link:presentationArc order="240" 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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: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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative" xlink:title="00000009 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:label="loc_us-gaapWeightedAverageNumberOfShareOutstandingBasicAndDiluted" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>tdi10qfy21q3_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/2020-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="tayd-20210228.xsd" xlink:type="simple"/>
    <context id="From2020-12-01to2021-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="AsOf2021-03-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2021-03-26</instant>
        </period>
    </context>
    <context id="AsOf2021-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2021-02-28</instant>
        </period>
    </context>
    <context id="AsOf2020-05-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2020-05-31</instant>
        </period>
    </context>
    <context id="From2019-12-012020-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2019-12-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="From2020-06-012021-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2020-06-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-06-012020-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <startDate>2019-06-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2020-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>2020-11-30</instant>
        </period>
    </context>
    <context id="AsOf2019-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>2019-11-30</instant>
        </period>
    </context>
    <context id="AsOf2020-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>2020-05-31</instant>
        </period>
    </context>
    <context id="AsOf2019-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>2019-05-31</instant>
        </period>
    </context>
    <context id="From2020-12-012021-02-28_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>2020-12-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-12-012020-02-29_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>2019-12-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="From2020-06-012021-02-28_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>2020-06-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-06-012020-02-29_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>2019-06-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2021-02-28_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-02-28</instant>
        </period>
    </context>
    <context id="AsOf2020-02-29_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>2020-02-29</instant>
        </period>
    </context>
    <context id="AsOf2020-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>2020-11-30</instant>
        </period>
    </context>
    <context id="AsOf2019-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>2019-11-30</instant>
        </period>
    </context>
    <context id="AsOf2020-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>2020-05-31</instant>
        </period>
    </context>
    <context id="AsOf2019-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>2019-05-31</instant>
        </period>
    </context>
    <context id="From2020-12-012021-02-28_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>2020-12-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-12-012020-02-29_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>2019-12-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="From2020-06-012021-02-28_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>2020-06-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-06-012020-02-29_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>2019-06-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2021-02-28_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-02-28</instant>
        </period>
    </context>
    <context id="AsOf2020-02-29_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>2020-02-29</instant>
        </period>
    </context>
    <context id="AsOf2020-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>2020-11-30</instant>
        </period>
    </context>
    <context id="AsOf2019-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>2019-11-30</instant>
        </period>
    </context>
    <context id="AsOf2020-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>2020-05-31</instant>
        </period>
    </context>
    <context id="AsOf2019-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>2019-05-31</instant>
        </period>
    </context>
    <context id="From2020-12-012021-02-28_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>2020-12-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-12-012020-02-29_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>2019-12-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="From2020-06-012021-02-28_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>2020-06-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-06-012020-02-29_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>2019-06-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2021-02-28_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-02-28</instant>
        </period>
    </context>
    <context id="AsOf2020-02-29_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>2020-02-29</instant>
        </period>
    </context>
    <context id="AsOf2020-11-30_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-30</instant>
        </period>
    </context>
    <context id="AsOf2019-11-30_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-30</instant>
        </period>
    </context>
    <context id="AsOf2020-05-31_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-31</instant>
        </period>
    </context>
    <context id="AsOf2019-05-31_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-05-31</instant>
        </period>
    </context>
    <context id="From2020-12-012021-02-28_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-12-012020-02-29_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="From2020-06-012021-02-28_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="From2019-06-012020-02-29_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-06-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2021-02-28_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-28</instant>
        </period>
    </context>
    <context id="AsOf2020-02-29_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-02-29</instant>
        </period>
    </context>
    <context id="AsOf2020-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2020-02-29</instant>
        </period>
    </context>
    <context id="AsOf2019-05-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000096536</identifier>
        </entity>
        <period>
            <instant>2019-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="From2020-12-01to2021-02-28">0000096536</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2020-12-01to2021-02-28">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="From2020-12-01to2021-02-28">2021</dei:DocumentFiscalYearFocus>
    <dei:CurrentFiscalYearEndDate contextRef="From2020-12-01to2021-02-28">--05-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="From2020-12-01to2021-02-28">Q3</dei:DocumentFiscalPeriodFocus>
    <us-gaap:ShortTermBankLoansAndNotesPayable
      contextRef="AsOf2021-02-28"
      id="xdx2ixbrl0082"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2020-12-012021-02-28_us-gaap_CommonStockMember"
      id="xdx2ixbrl0178"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2019-12-012020-02-29_us-gaap_CommonStockMember"
      id="xdx2ixbrl0179"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2019-06-012020-02-29_us-gaap_CommonStockMember"
      id="xdx2ixbrl0181"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2020-12-012021-02-28_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0194"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2019-12-012020-02-29_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0195"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2019-06-012020-02-29_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0197"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="From2020-12-012021-02-28_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0198"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="From2019-12-012020-02-29_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0199"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2020-12-012021-02-28_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0222"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2019-12-012020-02-29_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0223"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2019-06-012020-02-29_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0225"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="From2019-06-012020-02-29"
      id="xdx2ixbrl0251"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2020-12-01to2021-02-28">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2020-12-01to2021-02-28">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2020-12-01to2021-02-28">2021-02-28</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="From2020-12-01to2021-02-28">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2020-12-01to2021-02-28">0-3498</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2020-12-01to2021-02-28">TAYLOR DEVICES INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2020-12-01to2021-02-28">NY</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2020-12-01to2021-02-28">16-0797789</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2020-12-01to2021-02-28">90 Taylor Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2020-12-01to2021-02-28">North Tonawanda</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2020-12-01to2021-02-28">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2020-12-01to2021-02-28">14120</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2020-12-01to2021-02-28">716</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2020-12-01to2021-02-28">694-0800</dei:LocalPhoneNumber>
    <dei:EntityCurrentReportingStatus contextRef="From2020-12-01to2021-02-28">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2020-12-01to2021-02-28">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2020-12-01to2021-02-28">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2020-12-01to2021-02-28">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2020-12-01to2021-02-28">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2020-12-01to2021-02-28">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="AsOf2021-03-26" decimals="INF" unitRef="Shares">3488510</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">16084718</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">15159827</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">1090582</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">1071950</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">5024657</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">5819471</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:InventoryPartsAndComponentsNetOfReserves contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">8550215</us-gaap:InventoryPartsAndComponentsNetOfReserves>
    <us-gaap:InventoryPartsAndComponentsNetOfReserves contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">10107437</us-gaap:InventoryPartsAndComponentsNetOfReserves>
    <us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">1011367</us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms>
    <us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">1754573</us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms>
    <us-gaap:OtherAssetsCurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">931241</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">510360</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">32692780</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">34423618</us-gaap:AssetsCurrent>
    <us-gaap:OtherInventoryNoncurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">1242968</us-gaap:OtherInventoryNoncurrent>
    <us-gaap:OtherInventoryNoncurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">879050</us-gaap:OtherInventoryNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">9558066</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">9407490</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">199380</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">195621</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">170115</us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent>
    <us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">170115</us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent>
    <us-gaap:Assets contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">43863309</us-gaap:Assets>
    <us-gaap:Assets contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">45075894</us-gaap:Assets>
    <us-gaap:ShortTermBankLoansAndNotesPayable contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">1461500</us-gaap:ShortTermBankLoansAndNotesPayable>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">1205800</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">1370175</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedSalesCommissionCurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">402120</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">305885</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">1019872</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">1663914</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:BillingsInExcessOfCostCurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">633216</us-gaap:BillingsInExcessOfCostCurrent>
    <us-gaap:BillingsInExcessOfCostCurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">736866</us-gaap:BillingsInExcessOfCostCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">3261008</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">5538340</us-gaap:LiabilitiesCurrent>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">9946679</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">9860006</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">33542199</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">32538580</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityBeforeTreasuryStock contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">43488878</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:StockholdersEquityBeforeTreasuryStock contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">42398586</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:TreasuryStockValue contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">2886577</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">2861032</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">40602301</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">39537554</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">43863309</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">45075894</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">4772371</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">7234195</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">15249425</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">20645259</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">4368784</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">4861257</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">12714882</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">13947722</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">403587</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">2372938</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">2534543</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">6697537</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">1223275</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">1437981</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">3832682</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">4254839</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">-819688</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">934957</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">-1298139</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">2442698</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">643006</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">36795</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">2122758</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">100637</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">-176682</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">971752</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">824619</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">2543335</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">-359000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">189000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">-179000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">489000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-12-01to2021-02-28"
      decimals="0"
      unitRef="USD">182318</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2019-12-012020-02-29"
      decimals="0"
      unitRef="USD">782752</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">1003619</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">2054335</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="From2020-12-01to2021-02-28"
      decimals="INF"
      unitRef="USDPShares">0.05</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="From2019-12-012020-02-29"
      decimals="INF"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="From2020-06-012021-02-28"
      decimals="INF"
      unitRef="USDPShares">0.29</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="From2019-06-012020-02-29"
      decimals="INF"
      unitRef="USDPShares">0.59</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101037</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-11-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">100751</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-05-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">100943</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-05-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">100735</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2020-12-012021-02-28_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">10</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2019-12-012020-02-29_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">8</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2020-06-012021-02-28_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">29</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2019-06-012020-02-29_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">24</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2020-06-012021-02-28_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">75</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-02-28_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101047</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-02-29_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">100759</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-02-28_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">101047</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-02-29_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">100759</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">9841612</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">9601166</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-05-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">9759063</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-05-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">9538892</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2020-12-012021-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">4020</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2019-12-012020-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">3372</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2020-06-012021-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">11382</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2019-06-012020-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">10209</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2020-06-012021-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">25470</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="From2020-06-012021-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">49717</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="From2019-06-012020-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">55437</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">9845632</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">9604538</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">9845632</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">9604538</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">33359881</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-11-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">30780187</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-05-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">32538580</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-05-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">29508604</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-12-012021-02-28_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">182318</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2019-12-012020-02-29_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">782752</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-06-012021-02-28_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1003619</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2019-06-012020-02-29_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">2054335</us-gaap:NetIncomeLoss>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-02-28_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">33542199</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-02-29_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">31562939</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-02-28_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">33542199</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-02-29_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">31562939</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2020-11-30_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-2886577</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2019-11-30_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-2829359</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2020-05-31_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-2861032</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2019-05-31_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-2829359</us-gaap:TreasuryStockValue>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan
      contextRef="From2020-06-012021-02-28_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-25545</us-gaap:StockIssuedDuringPeriodValueEmployeeBenefitPlan>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2021-02-28_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-2886577</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2020-02-29_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-2829359</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2021-02-28_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-2886577</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2020-02-29_us-gaap_TreasuryStockMember"
      decimals="0"
      unitRef="USD">-2829359</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">40602301</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-02-29" decimals="0" unitRef="USD">38438877</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">40602301</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-02-29" decimals="0" unitRef="USD">38438877</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">1003619</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">2054335</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">938493</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">841194</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">49717</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">55437</us-gaap:StockOptionPlanExpense>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">-1461500</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">794814</us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables>
    <us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">282105</us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">1193304</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">595847</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInUnbilledReceivables
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">743206</us-gaap:IncreaseDecreaseInUnbilledReceivables>
    <us-gaap:IncreaseDecreaseInUnbilledReceivables
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">5441173</us-gaap:IncreaseDecreaseInUnbilledReceivables>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">-420881</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">80522</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">-164375</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">206092</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">96235</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">-794442</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">-644042</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">-70665</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">-103650</us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings>
    <us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">1370512</us-gaap:IncreaseDecreaseInBillingInExcessOfCostOfEarnings>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">2024940</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">10062110</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">1089069</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">992272</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">22391</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">13921</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">-1111460</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">-1006193</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">11411</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">10233</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease
      contextRef="From2020-06-012021-02-28"
      decimals="0"
      unitRef="USD">924891</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
    <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease
      contextRef="From2019-06-012020-02-29"
      decimals="0"
      unitRef="USD">9066150</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">15159827</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2019-05-31" decimals="0" unitRef="USD">5071822</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">16084718</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2020-02-29" decimals="0" unitRef="USD">14137972</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <srt:CondensedFinancialStatementsTextBlock contextRef="From2020-12-01to2021-02-28">&lt;p id="xdx_803_esrt--CondensedFinancialStatementsTextBlock_zwyQ3WI9WRVg" style="font: bold 10pt Times New Roman, Times, Serif; margin: 0; color: navy"&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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&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 February 28, 2021 and May 31, 2020, the results
of operations for the three and nine months ended February 28/29, 2021 and 2020, and cash flows for the nine months ended February
28/29, 2021 and 2020. 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, 2020. &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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&gt;4.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;For the nine-month periods ended February 28/29, 2021 and 2020, the
net income was divided by &lt;span id="xdx_90E_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20200601__20210228_zNLp2VfHzDl2"&gt;3,487,801&lt;/span&gt; and &lt;span id="xdx_907_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20190601__20200229_zmVMsu4jcS0e"&gt;3,479,033&lt;/span&gt; respectively, which is net of the Treasury shares, to calculate the net income
per share. For the three-month periods ended February 28/29, 2021 and 2020, the net income was divided by &lt;span id="xdx_906_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20201201__20210228_z2wGm8u3oYsb"&gt;3,487,599&lt;/span&gt; and &lt;span id="xdx_908_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20191201__20200229_zPYSaaPSI5Rd"&gt;3,478,914&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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&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 nine month periods ended
February 28, 2021 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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&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_88B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zcjFDd6kXCVc" 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_499_20210228_zGwyEcUP0tM" 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_493_20200531_z05LmsSsTMc6" 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;February 28, 2021&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, 2020&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_401_eus-gaap--InventoryRawMaterials_iI_maIGzzgv_zslUh4DLEjol" 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;584,191&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;658,024&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_eus-gaap--InventoryWorkInProcess_iI_maIGzzgv_zJLwFhsDfDde" 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;7,583,386&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;8,586,404&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--InventoryFinishedGoods_iI_maIGzzgv_z8AVCyuUlYpa" 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;482,638&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;963,009&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_405_eus-gaap--InventoryGross_iTI_mtIGzzgv_maINzeQ5_z8KpHYrfoMNa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross inventory&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;8,650,215&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;10,207,437&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_406_eus-gaap--InventoryValuationReserves_iI_msINzeQ5_zHJmaaj0kzli" 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_402_eus-gaap--InventoryNet_iTI_mtINzeQ5_z8iSfzVPKHFl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Net inventory&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;8,550,215&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;10,107,437&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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&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 nine months ended February 28, 2021, 39% of revenue was recorded for contracts in which
revenue was recognized over time while 61% was recognized at a point in time. In the nine months ended February 29, 2020, 60% of
revenue was recorded for contracts in which revenue was recognized over time while 40% 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 February 28, 2021 and May 31, 2020, 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="font: 12pt Times New Roman, Times, Serif; width: 100%; 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: 10pt Times New Roman, Times, Serif"&gt;9.&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Other Income:&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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;During
the nine-month period ended February 28, 2021, the Company recorded $2,096,000 of Other income for funds received or receivable
from the U.S. federal government as financial assistance under provisions of the Coronavirus Aid, Relief, and Economic Security
(CARES) Act and the Consolidated Appropriations Act of 2021 (CAA). D&lt;/span&gt;uring 2020, the Company received a loan totaling $1,462,000
from the SBA under the Paycheck Protection Program of the CARES Act. The CARES Act permits that a loan may be forgiven if certain
criteria are met. The Company has been notified by our bank that the SBA has approved our application to forgive the entire amount
of the debt. The Company also qualified for federal government assistance during the current fiscal year in the amount of $634,000
through Employee Retention Credit provisions of the CAA. The purpose of the Employee Retention Credit is to encourage employers
to keep employees on the payroll, even if they are not working during the covered period due to the effects of the coronavirus
outbreak.&lt;/p&gt;

</srt:CondensedFinancialStatementsTextBlock>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="From2020-06-012021-02-28"
      decimals="INF"
      unitRef="Shares">3487801</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="From2019-06-012020-02-29"
      decimals="INF"
      unitRef="Shares">3479033</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="From2020-12-01to2021-02-28"
      decimals="INF"
      unitRef="Shares">3487599</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="From2019-12-012020-02-29"
      decimals="INF"
      unitRef="Shares">3478914</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2020-12-01to2021-02-28">&lt;table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zcjFDd6kXCVc" 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_499_20210228_zGwyEcUP0tM" 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_493_20200531_z05LmsSsTMc6" 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;February 28, 2021&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, 2020&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_401_eus-gaap--InventoryRawMaterials_iI_maIGzzgv_zslUh4DLEjol" 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;584,191&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;658,024&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_eus-gaap--InventoryWorkInProcess_iI_maIGzzgv_zJLwFhsDfDde" 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;7,583,386&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;8,586,404&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--InventoryFinishedGoods_iI_maIGzzgv_z8AVCyuUlYpa" 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;482,638&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;963,009&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_405_eus-gaap--InventoryGross_iTI_mtIGzzgv_maINzeQ5_z8KpHYrfoMNa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross inventory&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;8,650,215&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;10,207,437&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_406_eus-gaap--InventoryValuationReserves_iI_msINzeQ5_zHJmaaj0kzli" 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_402_eus-gaap--InventoryNet_iTI_mtINzeQ5_z8iSfzVPKHFl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Net inventory&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;8,550,215&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;10,107,437&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="AsOf2021-02-28" decimals="0" unitRef="USD">584191</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">658024</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">7583386</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">8586404</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">482638</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">963009</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">8650215</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">10207437</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">100000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">100000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="AsOf2021-02-28" decimals="0" unitRef="USD">8550215</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2020-05-31" decimals="0" unitRef="USD">10107437</us-gaap:InventoryNet>
</xbrl>
</XML>
</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="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139739995489352">
<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>Feb. 28, 2021</div></th>
<th class="th"><div>Mar. 26, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.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="top.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="top.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="top.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="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Feb. 28,  2021<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="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2021<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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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="top.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,488,510<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139739988586760">
<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>Feb. 28, 2021</div></th>
<th class="th"><div>May 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 16,084,718<span></span>
</td>
<td class="nump">$ 15,159,827<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term investments</a></td>
<td class="nump">1,090,582<span></span>
</td>
<td class="nump">1,071,950<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsAndOtherReceivablesNetCurrent', window );">Accounts and other receivables, net</a></td>
<td class="nump">5,024,657<span></span>
</td>
<td class="nump">5,819,471<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryPartsAndComponentsNetOfReserves', window );">Inventory</a></td>
<td class="nump">8,550,215<span></span>
</td>
<td class="nump">10,107,437<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms', window );">Costs and estimated earnings in excess of billings</a></td>
<td class="nump">1,011,367<span></span>
</td>
<td class="nump">1,754,573<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">931,241<span></span>
</td>
<td class="nump">510,360<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">32,692,780<span></span>
</td>
<td class="nump">34,423,618<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherInventoryNoncurrent', window );">Maintenance and other inventory, net</a></td>
<td class="nump">1,242,968<span></span>
</td>
<td class="nump">879,050<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">9,558,066<span></span>
</td>
<td class="nump">9,407,490<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsMiscellaneousNoncurrent', window );">Other assets</a></td>
<td class="nump">199,380<span></span>
</td>
<td class="nump">195,621<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent', window );">Deferred income taxes</a></td>
<td class="nump">170,115<span></span>
</td>
<td class="nump">170,115<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">43,863,309<span></span>
</td>
<td class="nump">45,075,894<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermBankLoansAndNotesPayable', window );">Short-term borrowings</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">1,461,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">1,205,800<span></span>
</td>
<td class="nump">1,370,175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Accrued commissions</a></td>
<td class="nump">402,120<span></span>
</td>
<td class="nump">305,885<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">1,019,872<span></span>
</td>
<td class="nump">1,663,914<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BillingsInExcessOfCostCurrent', window );">Billings in excess of costs and estimated earnings</a></td>
<td class="nump">633,216<span></span>
</td>
<td class="nump">736,866<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">3,261,008<span></span>
</td>
<td class="nump">5,538,340<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Common stock and additional paid-in capital</a></td>
<td class="nump">9,946,679<span></span>
</td>
<td class="nump">9,860,006<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">33,542,199<span></span>
</td>
<td class="nump">32,538,580<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityBeforeTreasuryStock', window );">Stockholders&#8217; equity before treasury stock</a></td>
<td class="nump">43,488,878<span></span>
</td>
<td class="nump">42,398,586<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock - at cost</a></td>
<td class="num">(2,886,577)<span></span>
</td>
<td class="num">(2,861,032)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">40,602,301<span></span>
</td>
<td class="nump">39,537,554<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 43,863,309<span></span>
</td>
<td class="nump">$ 45,075,894<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. 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="top.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.20)<br> -URI http://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 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<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 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_AccruedSalesCommissionCurrent</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<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 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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 http://asc.fasb.org/extlink&amp;oid=75031198&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 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<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 (a)<br> -URI http://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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<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> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6801-107765<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<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.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<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 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<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.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=118261985&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 http://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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_DeferredTaxAssetsLiabilitiesNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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 and classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.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 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31917-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_DeferredTaxAssetsLiabilitiesNetNoncurrent</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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(a))<br> -URI http://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 http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<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)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<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(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.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.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6904-107765<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 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<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.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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(14))<br> -URI http://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 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<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)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<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(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<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 http://asc.fasb.org/extlink&amp;oid=120400017&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 http://asc.fasb.org/extlink&amp;oid=121370832&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 http://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 http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_ShortTermBankLoansAndNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowings from a bank classified as other, maturing within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.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)(1))<br> -URI http://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 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.16)<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_ShortTermBankLoansAndNotesPayable</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120398452&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 http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<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)(1)(g))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<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(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<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(31))<br> -URI http://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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://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(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139739995494376">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>Feb. 29, 2020</div></th>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>Feb. 29, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales, net</a></td>
<td class="nump">$ 4,772,371<span></span>
</td>
<td class="nump">$ 7,234,195<span></span>
</td>
<td class="nump">$ 15,249,425<span></span>
</td>
<td class="nump">$ 20,645,259<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of goods sold</a></td>
<td class="nump">4,368,784<span></span>
</td>
<td class="nump">4,861,257<span></span>
</td>
<td class="nump">12,714,882<span></span>
</td>
<td class="nump">13,947,722<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">&#160;&#160;&#160;&#160;&#160;Gross profit</a></td>
<td class="nump">403,587<span></span>
</td>
<td class="nump">2,372,938<span></span>
</td>
<td class="nump">2,534,543<span></span>
</td>
<td class="nump">6,697,537<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative expenses</a></td>
<td class="nump">1,223,275<span></span>
</td>
<td class="nump">1,437,981<span></span>
</td>
<td class="nump">3,832,682<span></span>
</td>
<td class="nump">4,254,839<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">&#160;&#160;&#160;&#160;&#160;Operating income (loss)</a></td>
<td class="num">(819,688)<span></span>
</td>
<td class="nump">934,957<span></span>
</td>
<td class="num">(1,298,139)<span></span>
</td>
<td class="nump">2,442,698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">643,006<span></span>
</td>
<td class="nump">36,795<span></span>
</td>
<td class="nump">2,122,758<span></span>
</td>
<td class="nump">100,637<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">&#160;&#160;&#160;&#160;&#160;Income (loss) before provision for income taxes</a></td>
<td class="num">(176,682)<span></span>
</td>
<td class="nump">971,752<span></span>
</td>
<td class="nump">824,619<span></span>
</td>
<td class="nump">2,543,335<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes (benefit)</a></td>
<td class="num">(359,000)<span></span>
</td>
<td class="nump">189,000<span></span>
</td>
<td class="num">(179,000)<span></span>
</td>
<td class="nump">489,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">&#160;&#160;&#160;&#160;&#160;Net income</a></td>
<td class="nump">$ 182,318<span></span>
</td>
<td class="nump">$ 782,752<span></span>
</td>
<td class="nump">$ 1,003,619<span></span>
</td>
<td class="nump">$ 2,054,335<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDiluted', window );">Basic and diluted earnings per common share</a></td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="nump">$ 0.22<span></span>
</td>
<td class="nump">$ 0.29<span></span>
</td>
<td class="nump">$ 0.59<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_EarningsPerShareBasicAndDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income or loss for the period per each share in instances when basic and diluted earnings per share are the same amount and reported as a single line item on the face of the financial statements.  Basic earnings per share is the amount of net income or loss for the period per each share of common stock or unit outstanding during the reporting period.  Diluted earnings per share includes the amount of net income or loss for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.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 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_EarningsPerShareBasicAndDiluted</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>num: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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-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 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-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(g)(1)(ii))<br> -URI http://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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<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 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<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.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=68072869&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120395209&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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=116825942&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 http://asc.fasb.org/extlink&amp;oid=84230637&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=120385591&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 http://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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-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 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<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 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<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 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: 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 http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: 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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: 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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<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 http://asc.fasb.org/extlink&amp;oid=109234566&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 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<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 http://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 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://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 http://asc.fasb.org/extlink&amp;oid=75031198&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<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 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<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 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 11: 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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 12: 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 http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 13: 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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139739986834600">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Shareholders 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>
<th class="th"><div>Treasury Stock [Member]</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">$ 100,735<span></span>
</td>
<td class="nump">$ 9,538,892<span></span>
</td>
<td class="nump">$ 29,508,604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent, Beginning Balance at May. 31, 2019</a></td>
<td class="nump">100,735<span></span>
</td>
<td class="nump">9,538,892<span></span>
</td>
<td class="nump">29,508,604<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Stock Issued During Period, Value, Employee Stock Purchase Plan</a></td>
<td class="nump">24<span></span>
</td>
<td class="nump">10,209<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan', window );">Stock Issued During Period, Value, Employee Benefit Plan</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent, Ending Balance at Feb. 29, 2020</a></td>
<td class="nump">100,759<span></span>
</td>
<td class="nump">9,604,538<span></span>
</td>
<td class="nump">31,562,939<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="top.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">55,437<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="top.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,054,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, Value, Beginning Balance at May. 31, 2019</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="num">(2,829,359)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, Value, Ending Balance at Feb. 29, 2020</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="num">(2,829,359)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">100,759<span></span>
</td>
<td class="nump">9,604,538<span></span>
</td>
<td class="nump">31,562,939<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">100,751<span></span>
</td>
<td class="nump">9,601,166<span></span>
</td>
<td class="nump">30,780,187<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent, Beginning Balance at Nov. 30, 2019</a></td>
<td class="nump">100,751<span></span>
</td>
<td class="nump">9,601,166<span></span>
</td>
<td class="nump">30,780,187<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Stock Issued During Period, Value, Employee Stock Purchase Plan</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">3,372<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan', window );">Stock Issued During Period, Value, Employee Benefit Plan</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent, Ending Balance at Feb. 29, 2020</a></td>
<td class="nump">100,759<span></span>
</td>
<td class="nump">9,604,538<span></span>
</td>
<td class="nump">31,562,939<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="top.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="text"> <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="top.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">782,752<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, Value, Beginning Balance at Nov. 30, 2019</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="num">(2,829,359)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, Value, Ending Balance at Feb. 29, 2020</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="num">(2,829,359)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">100,759<span></span>
</td>
<td class="nump">9,604,538<span></span>
</td>
<td class="nump">31,562,939<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">100,759<span></span>
</td>
<td class="nump">9,604,538<span></span>
</td>
<td class="nump">31,562,939<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">100,943<span></span>
</td>
<td class="nump">9,759,063<span></span>
</td>
<td class="nump">32,538,580<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent, Beginning Balance at May. 31, 2020</a></td>
<td class="nump">100,943<span></span>
</td>
<td class="nump">9,759,063<span></span>
</td>
<td class="nump">32,538,580<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Stock Issued During Period, Value, Employee Stock Purchase Plan</a></td>
<td class="nump">29<span></span>
</td>
<td class="nump">11,382<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan', window );">Stock Issued During Period, Value, Employee Benefit Plan</a></td>
<td class="nump">75<span></span>
</td>
<td class="nump">25,470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(25,545)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent, Ending Balance at Feb. 28, 2021</a></td>
<td class="nump">101,047<span></span>
</td>
<td class="nump">9,845,632<span></span>
</td>
<td class="nump">33,542,199<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="top.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">49,717<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="top.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,003,619<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, Value, Beginning Balance at May. 31, 2020</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="num">(2,861,032)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, Value, Ending Balance at Feb. 28, 2021</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="num">(2,886,577)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">101,047<span></span>
</td>
<td class="nump">9,845,632<span></span>
</td>
<td class="nump">33,542,199<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">101,037<span></span>
</td>
<td class="nump">9,841,612<span></span>
</td>
<td class="nump">33,359,881<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent, Beginning Balance at Nov. 30, 2020</a></td>
<td class="nump">101,037<span></span>
</td>
<td class="nump">9,841,612<span></span>
</td>
<td class="nump">33,359,881<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="top.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,020<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan', window );">Stock Issued During Period, Value, Employee Benefit Plan</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent, Ending Balance at Feb. 28, 2021</a></td>
<td class="nump">101,047<span></span>
</td>
<td class="nump">9,845,632<span></span>
</td>
<td class="nump">33,542,199<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="top.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="text"> <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="top.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">182,318<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, Value, Beginning Balance at Nov. 30, 2020</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="num">(2,886,577)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, Value, Ending Balance at Feb. 28, 2021</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="num">$ (2,886,577)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">101,047<span></span>
</td>
<td class="nump">9,845,632<span></span>
</td>
<td class="nump">33,542,199<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' Equity Attributable to Parent</a></td>
<td class="nump">$ 101,047<span></span>
</td>
<td class="nump">$ 9,845,632<span></span>
</td>
<td class="nump">$ 33,542,199<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_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-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 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<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 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<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 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: 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 http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: 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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: 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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<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 http://asc.fasb.org/extlink&amp;oid=109234566&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 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<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 http://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 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<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(31))<br> -URI http://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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://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(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139739987664248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flow - USD ($)<br></strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>Feb. 29, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 1,003,619<span></span>
</td>
<td class="nump">$ 2,054,335<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">&#160;&#160;&#160;Depreciation</a></td>
<td class="nump">938,493<span></span>
</td>
<td class="nump">841,194<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">&#160;&#160;&#160;Stock options issued for services</a></td>
<td class="nump">49,717<span></span>
</td>
<td class="nump">55,437<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">&#160;&#160;&#160;Paycheck Protection Program loan forgiveness</a></td>
<td class="num">(1,461,500)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables', window );">&#160;&#160;&#160;&#160;&#160;&#160;Accounts and other receivables</a></td>
<td class="nump">794,814<span></span>
</td>
<td class="nump">282,105<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">&#160;&#160;&#160;&#160;&#160;&#160;Inventory</a></td>
<td class="nump">1,193,304<span></span>
</td>
<td class="nump">595,847<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="nump">743,206<span></span>
</td>
<td class="nump">5,441,173<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets', window );">&#160;&#160;&#160;&#160;&#160;&#160;Other current assets</a></td>
<td class="num">(420,881)<span></span>
</td>
<td class="nump">80,522<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade', window );">&#160;&#160;&#160;&#160;&#160;&#160;Accounts payable</a></td>
<td class="num">(164,375)<span></span>
</td>
<td class="nump">206,092<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">&#160;&#160;&#160;&#160;&#160;&#160;Accrued commissions</a></td>
<td class="nump">96,235<span></span>
</td>
<td class="num">(794,442)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities', window );">&#160;&#160;&#160;&#160;&#160;&#160;Other current liabilities</a></td>
<td class="num">(644,042)<span></span>
</td>
<td class="num">(70,665)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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">(103,650)<span></span>
</td>
<td class="nump">1,370,512<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="nump">2,024,940<span></span>
</td>
<td class="nump">10,062,110<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">&#160;&#160;&#160;Acquisition of property and equipment</a></td>
<td class="num">(1,089,069)<span></span>
</td>
<td class="num">(992,272)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">&#160;&#160;&#160;Other investing activities</a></td>
<td class="num">(22,391)<span></span>
</td>
<td class="num">(13,921)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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,111,460)<span></span>
</td>
<td class="num">(1,006,193)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">&#160;&#160;&#160;Proceeds from issuance of common stock, net</a></td>
<td class="nump">11,411<span></span>
</td>
<td class="nump">10,233<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease', window );">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Net change in cash and cash equivalents</a></td>
<td class="nump">924,891<span></span>
</td>
<td class="nump">9,066,150<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents - beginning</a></td>
<td class="nump">15,159,827<span></span>
</td>
<td class="nump">5,071,822<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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">$ 16,084,718<span></span>
</td>
<td class="nump">$ 14,137,972<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<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 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<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.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_CashAndCashEquivalentsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_CashAndCashEquivalentsPeriodIncreaseDecrease</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="top.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 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=117329964&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117329964&amp;loc=d3e12317-112629<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> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_GainsLossesOnExtinguishmentOfDebt</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_IncreaseDecreaseInAccountsAndOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount due from customers for the credit sale of goods and services; includes accounts receivable and other types of receivables.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_IncreaseDecreaseInAccountsAndOtherReceivables</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_IncreaseDecreaseInAccountsPayableTrade">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_IncreaseDecreaseInBillingInExcessOfCostOfEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_IncreaseDecreaseInOtherOperatingLiabilities</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&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 http://asc.fasb.org/extlink&amp;oid=121586364&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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-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 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<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 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<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 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: 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 http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: 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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: 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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<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 http://asc.fasb.org/extlink&amp;oid=109234566&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 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<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 http://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 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139740074375576">
<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>Feb. 28, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_CondensedFinancialStatementsTextBlock', window );">Notes to Condensed Consolidated Financial Statements</a></td>
<td class="text"><p id="xdx_803_esrt--CondensedFinancialStatementsTextBlock_zwyQ3WI9WRVg" style="font: bold 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">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 February 28, 2021 and May 31, 2020, the results
of operations for the three and nine months ended February 28/29, 2021 and 2020, and cash flows for the nine months ended February
28/29, 2021 and 2020. 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, 2020. </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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">4.</span></td><td style="text-align: justify"><span style="font-size: 10pt">For the nine-month periods ended February 28/29, 2021 and 2020, the
net income was divided by <span id="xdx_90E_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20200601__20210228_zNLp2VfHzDl2">3,487,801</span> and <span id="xdx_907_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20190601__20200229_zmVMsu4jcS0e">3,479,033</span> respectively, which is net of the Treasury shares, to calculate the net income
per share. For the three-month periods ended February 28/29, 2021 and 2020, the net income was divided by <span id="xdx_906_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20201201__20210228_z2wGm8u3oYsb">3,487,599</span> and <span id="xdx_908_eus-gaap--WeightedAverageNumberOfShareOutstandingBasicAndDiluted_c20191201__20200229_zPYSaaPSI5Rd">3,478,914</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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">5.</span></td><td style="text-align: justify"><span style="font-size: 10pt">The results of operations for the three and nine month periods ended
February 28, 2021 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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 12pt"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">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_88B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zcjFDd6kXCVc" 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_499_20210228_zGwyEcUP0tM" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_493_20200531_z05LmsSsTMc6" 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">February 28, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2020</td></tr>
<tr id="xdx_401_eus-gaap--InventoryRawMaterials_iI_maIGzzgv_zslUh4DLEjol" 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">584,191</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">658,024</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--InventoryWorkInProcess_iI_maIGzzgv_zJLwFhsDfDde" 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">7,583,386</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,586,404</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--InventoryFinishedGoods_iI_maIGzzgv_z8AVCyuUlYpa" 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">482,638</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">963,009</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--InventoryGross_iTI_mtIGzzgv_maINzeQ5_z8KpHYrfoMNa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,650,215</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,207,437</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--InventoryValuationReserves_iI_msINzeQ5_zHJmaaj0kzli" 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_402_eus-gaap--InventoryNet_iTI_mtINzeQ5_z8iSfzVPKHFl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Net inventory</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">8,550,215</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">10,107,437</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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">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 nine months ended February 28, 2021, 39% of revenue was recorded for contracts in which
revenue was recognized over time while 61% was recognized at a point in time. In the nine months ended February 29, 2020, 60% of
revenue was recorded for contracts in which revenue was recognized over time while 40% 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 February 28, 2021 and May 31, 2020, 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="font: 12pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in"><span style="font: 10pt Times New Roman, Times, Serif">9.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Other Income:</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"><span style="font-family: Times New Roman, Times, Serif">During
the nine-month period ended February 28, 2021, the Company recorded $2,096,000 of Other income for funds received or receivable
from the U.S. federal government as financial assistance under provisions of the Coronavirus Aid, Relief, and Economic Security
(CARES) Act and the Consolidated Appropriations Act of 2021 (CAA). D</span>uring 2020, the Company received a loan totaling $1,462,000
from the SBA under the Paycheck Protection Program of the CARES Act. The CARES Act permits that a loan may be forgiven if certain
criteria are met. The Company has been notified by our bank that the SBA has approved our application to forgive the entire amount
of the debt. The Company also qualified for federal government assistance during the current fiscal year in the amount of $634,000
through Employee Retention Credit provisions of the CAA. The purpose of the Employee Retention Credit is to encourage employers
to keep employees on the payroll, even if they are not working during the covered period due to the effects of the coronavirus
outbreak.</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for condensed financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.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 3<br> -Paragraph d<br> -Subparagraph 4<br> -Subsection 10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 3<br> -Paragraph c<br> -Subparagraph 4<br> -Subsection 10<br><br>Reference 3: 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 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 3<br> -Paragraph e<br> -Subparagraph 4<br> -Subsection 10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 3<br> -Paragraph f<br> -Subparagraph 4<br> -Subsection 10<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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>nonnum: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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139739993569928">
<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>Feb. 28, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventory</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zcjFDd6kXCVc" 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_499_20210228_zGwyEcUP0tM" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="3" id="xdx_493_20200531_z05LmsSsTMc6" 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">February 28, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center">May 31, 2020</td></tr>
<tr id="xdx_401_eus-gaap--InventoryRawMaterials_iI_maIGzzgv_zslUh4DLEjol" 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">584,191</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">658,024</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--InventoryWorkInProcess_iI_maIGzzgv_zJLwFhsDfDde" 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">7,583,386</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,586,404</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--InventoryFinishedGoods_iI_maIGzzgv_z8AVCyuUlYpa" 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">482,638</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">963,009</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--InventoryGross_iTI_mtIGzzgv_maINzeQ5_z8KpHYrfoMNa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,650,215</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,207,437</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--InventoryValuationReserves_iI_msINzeQ5_zHJmaaj0kzli" 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_402_eus-gaap--InventoryNet_iTI_mtINzeQ5_z8iSfzVPKHFl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Net inventory</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">8,550,215</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">10,107,437</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 http://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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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>nonnum: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="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139740072303736">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventory (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>May 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 584,191<span></span>
</td>
<td class="nump">$ 658,024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Work-in-process</a></td>
<td class="nump">7,583,386<span></span>
</td>
<td class="nump">8,586,404<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">482,638<span></span>
</td>
<td class="nump">963,009<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryGross', window );">Gross inventory</a></td>
<td class="nump">8,650,215<span></span>
</td>
<td class="nump">10,207,437<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Net inventory</a></td>
<td class="nump">$ 8,550,215<span></span>
</td>
<td class="nump">$ 10,107,437<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<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(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="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.21.1</span><table class="report" border="0" cellspacing="2" id="idm139739995337016">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>Feb. 29, 2020</div></th>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>Feb. 29, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted', window );">Weighted Average Number of Shares Outstanding, Basic and Diluted</a></td>
<td class="nump">3,487,599<span></span>
</td>
<td class="nump">3,478,914<span></span>
</td>
<td class="nump">3,487,801<span></span>
</td>
<td class="nump">3,479,033<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_WeightedAverageNumberOfShareOutstandingBasicAndDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Average number of shares or units issued and outstanding that are used in calculating basic and diluted earnings per share (EPS).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_WeightedAverageNumberOfShareOutstandingBasicAndDiluted</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>EXCEL
<SEQUENCE>21
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
M44AZ4KNJ7PJ\!   A!,  !@   !X;"]W;W)K<VAE971S+W-H965T,2YX;6RE
MF%USJS80AJ]/?X7&UW$ X<\SCF<<DK2>)HX3IZ>3=GJA@&PS >0*$<?_OBMA
M@^/!"YV3BY@/[<NC%7H7:;05\CU=<Z[(9QPEZ55KK=3FNV6E_IK'++T4&Y[
MG:60,5-P*E=6NI&<!28HCBQJVSTK9F'2&H_,M;D<CT2FHC#A<TG2+(Z9W%WS
M2&RO6D[K<.$Y7*V5OF"-1QNVX@NN_MC,)9Q9A4H0QCQ)0Y$0R9=7K8GSW:-#
M'6!:_ CY-CTZ)KHK;T*\ZY-I<-6R-1&/N*^T!(.?#^[Q*-)*P/'O7K15/%,'
M'A\?U.],YZ$S;RSEGHC^# .UOFH-6B3@2Y9%ZEEL?^/[#G6UGB^BU/PGV[QM
MI],B?I8J$>^#@2 .D_R7?>X3<11 Z9D N@^@)P'.N2>X^P#7=#0G,]VZ88J-
M1U)LB=2M04T?F-R8:.A-F.AA7"@)=T.(4V-/?'!)VB1=,\G3D:5 4]^Q_'W\
M=1Y/S\2[Y$$D:IV2VR3@P==X"U@*('H NJ:HX!U_NR1T<$&H39T*'@\/?V 2
MPGM5X5]PW"(_KM%ST?S\/7E+E817[A]$LE-(=HQDYXSDC? SF B*O.PVO"KC
M>+ACMY\0BFY!T45E)H 0&(R[B*VJ,/#X)8M2CG#T"HY>LVP\94PJ+J,=>>8;
M(545$BZE9(81]0NB?L/QD0SLRKC->21<JRY+@X)IT(QISF4H CW;",SWRM<'
M5SK,KU^^?:N9(L.";=B,[2Y,?18=$._@<J6AX&I/+H+DV*6MV?\+ZI4S>1ZI
M1JPF4<Z1V3JHD)=)>0J%#66-7+MM=]LNBD9+-(IJW28J5#L@BSB99?$;EY5
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
MDE!HC,X [EF+AEGK6.]V-OY>X%-RBG",*</C6XE'DJ6<)9S/]=N>QVB8QX[
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
MY=>C:781$]OTDOC^7CHT-CO2M @$(6O" 8V^UZ8 U!$U2R";%*,BD0IU7X'
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
MU],@#Z#$)=]4]D9M/V-7S]#A%:HR_@O;SI<%4&R,57473 QJ(=N3/W9]^)^
MI M(/.\VD6?Y@5L^FVBU!>V\"<T)OE0?3>2$=)=R:S7]%11G9U?*H@&KX$S)
MDGJ-I9.,JD3)+2GG0G)9"%[!K24#78<U\.X;7U1HWD\B2Q0<4%1TZ>9MNN2-
M="E<*FG7!CY2MO+?^(BH]_R3'?]YLA?P'!='D.0A)"R)]^"E?3]2CY>^@?=5
MK[@4?[A[,N&+5O@7)$NXUFBH!ZU!+5_OS\_3A;&:'MRO/8RRGE'F&65O,+J0
M#P2J]--KW=X;Z@;ZQ#2\P&G0.-[Z 0/7,;VA^>N[!I?\"=+8*VQPP[?TOBQJ
MJLG  0SS+(R/8Y)&PSQD23:XHS$[%/*PT:I 8V <#O,T3/,1Y"2-PHQE VJ+
MH$=9PDJITD"6)^$HS>%XE(:,'0\^:46!8E<9!8Z&+$SB(<1TL'&8I>/!%P?.
M*UH;U&$$6D"@%G0=: ITAI@Q F.[<W!%*^P9\L"QZ4 /'&S<PL)K5Q*]&* :
M]<JO"0.%VDC;SE)O[3?1:3N S^[M&KOD>B6D@0J7%,J.QL, =+L:6L6JQH_C
M0ED:;B^N:9NB=@[T?ZEH)#O%)>CW\^PO4$L#!!0    ( %%(>E);$Q(1T0(
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
M"H[<8R6,<6*T_C6"R0_L?@!02P,$%     @ 44AZ4H;=D[FW 0  /@<   \
M  !X;"]W;W)K8F]O:RYX;6S%U5]OFS 0 /"O8OEI>QDI^=,V*GU8HVV1IJYJ
MIKY.#C[*J;8/V4ZR]M/O *%YVH3V$O$$/IOCYP.=;T[D7_9$+^*G-2X4LHZQ
M66=9*&NP*GR@!AS/5.2MBCSTSUEH/"@=:H!H39;/9JO,*G3R]F;(]>"S=$ 1
MRHCD.-@&GA!.X?=\.Q1'#+A'@_&UD-V] 2DL.K3X!KJ0,RE"3:<OY/&-7%1F
M5WHRII 7_<03^(CE7^%=B_RN]J&+1+5_5 PIY&K&"2OT(78KNOR*C4?@Q?WH
M$.D3F@A^HR)\]G1HT#VW:7@76;*-K@[#M2_BVO]/&:FJL(0-E0<++O9U]&!:
MH LU-D$*IRP4\HZ.X-O]\ NVNM];9%12*;]&GO!;W?'.27$:7  M^"Z00<T.
M+3XJHUP)(D'F(\A\$N2NY?"C"7(^@IQ/B/R1)\C%"'(Q)7*>()<CR.5YD??<
M7H*()/ZM39"K$>1J0N0?G_MR!'EY7N36'7D!^5?Q;@-1H0GO$]C5".QJRNJE
M_^'U"/*Z:]U#O]90H0-]SR\('.>SHWSPHKUT/39?+"\X674PYHYCW]Q74GIH
M_\/1=?L+4$L#!!0    ( %%(>E)[#/KYW0   ((&   :    >&PO7W)E;',O
M=V]R:V)O;VLN>&UL+G)E;'/%U<T.@C ,!_!7(7L BX#X$>#DQ:OQ!18L'Q'8
MLM:H;R_! ]9X\&)V6MIE__Y.77;$3G-K!FI:2\&][P;*5<-L=P!4-MAK6AB+
MPWA3&==K'DM7@]7E1=<(41BFX-XS5)&]9P:GA\5?$DU5M27N37GM<> OP7 S
M[D(-(JO@I%V-G"NX=W.;8#J6BS%9!8=SKMSAO%3@&Q0)4.0?% M0[!^4"%#B
M'[02H)5_4"I J7_06H#6_D$; =KX!VT%:/M'$/&C0YHUKUJNP?"/\WE\B_/X
MJ7PU/W;QM(Q!?#G%$U!+ P04    " !12'I21Z[8.3H!   /"   $P   %M#
M;VYT96YT7U1Y<&5S72YX;6S-ELM.PS 017\ERK9J7 J4A]IN@"UTP0^89-)8
M]4N>:4G_GDGZD$ E:A4DO(D5S\P]US,+>_J^]8!);;3%65H1^4<A,*_ 2,R<
M!\N1T@4CB7_#4GB9K^02Q'@TFHC<60)+0VHTTOGT&4JYUI2\U+R-RME9&D!C
MFCSM$AO6+)7>:Y5+XKC8V.('9;@G9%S9YF"E/ XX(14G"4WD=\"^[FT#(:@"
MDH4,]"H-9XE:"Z2M!LRZ)4YX=&6I<BA<OC9<DJ$/( NL ,CH;"<ZZ"83=QAV
MWZO>_%:F"\B9B^ \\L0"7(X[C*2I'GH6@D"J^XA'(DOW/A\TTRZ@.)/-[?UT
M8=7. T6[]._Q]QD?]2_T,8[$QW4D/FXB\7$;B8]))#[N(O%Q'XF/AW_T\>'<
MZJ^OJ&;-C%3VP!?M.V#^!5!+ 0(4 Q0    ( %%(>E('04UB@0   +$    0
M              "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @
M44AZ4LXZ=$SM    *P(  !$              ( !KP   &1O8U!R;W!S+V-O
M<F4N>&UL4$L! A0#%     @ 44AZ4IE<G",0!@  G"<  !,
M ( !RP$  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    " !12'I2NZI?
M"KP$  "$$P  &               @($,"   >&PO=V]R:W-H965T<R]S:&5E
M=#$N>&UL4$L! A0#%     @ 44AZ4GT+1A:-!0  )!4  !@
M ("!_@P  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( %%(
M>E)I;!=5B00  %$0   8              " @<$2  !X;"]W;W)K<VAE971S
M+W-H965T,RYX;6Q02P$"% ,4    " !12'I27KX?('D&  #=*   &
M        @(& %P  >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%
M  @ 44AZ4H6KW*F]!0  1!@  !@              ("!+QX  'AL+W=O<FMS
M:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( %%(>E+BU^F8X@H  & <   8
M              " @2(D  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"
M% ,4    " !12'I2]+6$[<$"  "K!0  &               @($Z+P  >&PO
M=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ 44AZ4EL3$A'1 @
MK@<  !@              ("!,3(  'AL+W=O<FMS:&5E=',O<VAE970X+GAM
M;%!+ 0(4 Q0    ( %%(>E)5[5O&K@(   \'   8              " @3@U
M  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4    " !12'I2O;X)
M2O\"  ")#P  #0              @ $<.   >&PO<W1Y;&5S+GAM;%!+ 0(4
M Q0    ( %%(>E*7BKL<P    !,"   +              "  48[  !?<F5L
M<R\N<F5L<U!+ 0(4 Q0    ( %%(>E*&W9.YMP$  #X'   /
M  "  2\\  !X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " !12'I2>PSZ^=T
M  ""!@  &@              @ $3/@  >&PO7W)E;',O=V]R:V)O;VLN>&UL
M+G)E;'-02P$"% ,4    " !12'I21Z[8.3H!   /"   $P
M@ $H/P  6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     $0 1 &X$  "30
"   !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<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>23
<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>24
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.21.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>49</ContextCount>
  <ElementCount>159</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>4</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tdi10qfy21q3.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="tdi10qfy21q3.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="tdi10qfy21q3.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="tdi10qfy21q3.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Condensed Consolidated Statements of Shareholders Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/StatementsOfShareholdersEquity</Role>
      <ShortName>Condensed Consolidated Statements of Shareholders Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="tdi10qfy21q3.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Condensed Consolidated Statements of Cash Flow</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://taylordevices.com/role/StatementsOfCashFlow</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flow</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="tdi10qfy21q3.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="tdi10qfy21q3.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="tdi10qfy21q3.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="tdi10qfy21q3.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - 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>9</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="tdi10qfy21q3.htm">tdi10qfy21q3.htm</File>
    <File>ceo302certification20210228.htm</File>
    <File>ceo906certification20210228.htm</File>
    <File>cfo302certification20210228.htm</File>
    <File>cfo906certification20210228.htm</File>
    <File>tayd-20210228.xsd</File>
    <File>tayd-20210228_cal.xml</File>
    <File>tayd-20210228_def.xml</File>
    <File>tayd-20210228_lab.xml</File>
    <File>tayd-20210228_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2020-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>26
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "tdi10qfy21q3.htm": {
   "axisCustom": 0,
   "axisStandard": 1,
   "contextCount": 49,
   "dts": {
    "calculationLink": {
     "local": [
      "tayd-20210228_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tayd-20210228_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml",
      "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "tdi10qfy21q3.htm"
     ]
    },
    "labelLink": {
     "local": [
      "tayd-20210228_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml",
      "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml",
      "http://xbrl.fasb.org/srt/2020/elts/srt-doc-2020-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tayd-20210228_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml",
      "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml",
      "http://xbrl.fasb.org/srt/2020/elts/srt-ref-2020-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "tayd-20210228.xsd"
     ],
     "remote": [
      "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",
      "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd",
      "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.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",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 144,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2020-01-31": 13,
    "http://xbrl.sec.gov/dei/2020-01-31": 5,
    "total": 18
   },
   "keyCustom": 0,
   "keyStandard": 159,
   "memberCustom": 0,
   "memberStandard": 4,
   "nsprefix": "tayd",
   "nsuri": "http://taylordevices.com/20210228",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "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",
     "role": "http://taylordevices.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "AsOf2021-02-28",
      "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",
     "role": "http://taylordevices.com/role/BalanceSheets",
     "shortName": "Condensed Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "AsOf2021-02-28",
      "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": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "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",
     "role": "http://taylordevices.com/role/StatementsOfIncome",
     "shortName": "Condensed Consolidated Statements of Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "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": "tdi10qfy21q3.htm",
      "contextRef": "AsOf2019-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 Shareholders Equity",
     "role": "http://taylordevices.com/role/StatementsOfShareholdersEquity",
     "shortName": "Condensed Consolidated Statements of Shareholders Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2019-06-012020-02-29_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": "tdi10qfy21q3.htm",
      "contextRef": "From2020-06-012021-02-28",
      "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 Flow",
     "role": "http://taylordevices.com/role/StatementsOfCashFlow",
     "shortName": "Condensed Consolidated Statements of Cash Flow",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2020-06-012021-02-28",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "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",
     "role": "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatements",
     "shortName": "Notes to Condensed Consolidated Financial Statements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "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": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "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)",
     "role": "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables",
     "shortName": "Notes to Condensed Consolidated Financial Statements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "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": "tdi10qfy21q3.htm",
      "contextRef": "AsOf2021-02-28",
      "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)",
     "role": "http://taylordevices.com/role/InventoryDetails",
     "shortName": "Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "AsOf2021-02-28",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "srt:CondensedFinancialStatementsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000009 - Disclosure - Notes to Condensed Consolidated Financial Statements (Details Narrative)",
     "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": "tdi10qfy21q3.htm",
      "contextRef": "From2020-12-01to2021-02-28",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 4,
   "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AnnualInformationForm": {
     "auth_ref": [
      "r164"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditedAnnualFinancialStatements": {
     "auth_ref": [
      "r164"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r163"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r161",
      "r163",
      "r164"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r162"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r175"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyEventDate": {
     "auth_ref": [
      "r163"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r163"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r165"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r153"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "auth_ref": [
      "r156"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r166"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r166"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r174"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r166"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r167"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPrimarySicNumber": {
     "auth_ref": [
      "r164"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r166"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r166"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r166"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r166"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_OtherReportingStandardItemNumber": {
     "auth_ref": [
      "r163"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "otherReportingStandardItemNumberItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r157"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r158"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r152"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_Security12gTitle": {
     "auth_ref": [
      "r155"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r154"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SecurityReportingObligation": {
     "auth_ref": [
      "r159"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "securityReportingObligationItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r160"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r173"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "srt_CondensedFinancialStatementsTextBlock": {
     "auth_ref": [
      "r168",
      "r169",
      "r170",
      "r171",
      "r172"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 2.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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalesCommissionCurrent": {
     "auth_ref": [
      "r6",
      "r7",
      "r28"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued commissions"
       }
      }
     },
     "localname": "AccruedSalesCommissionCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities:"
       }
      }
     },
     "localname": "AdditionalCashFlowElementsFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities:"
       }
      }
     },
     "localname": "AdditionalCashFlowElementsInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r17"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r62",
      "r63",
      "r64",
      "r105",
      "r106",
      "r107"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r58",
      "r81",
      "r84",
      "r89",
      "r95",
      "r117",
      "r119",
      "r121",
      "r131",
      "r139"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r3",
      "r4",
      "r38",
      "r58",
      "r95",
      "r117",
      "r119",
      "r121"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BillingsInExcessOfCostCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 5.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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r1",
      "r25",
      "r57"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets",
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.",
        "label": "Cash and Cash Equivalents, Period Increase (Decrease)",
        "totalLabel": "Net change in cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r62",
      "r63"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r45",
      "r129"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms": {
     "auth_ref": [
      "r14",
      "r15",
      "r16",
      "r128"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent": {
     "auth_ref": [
      "r109",
      "r110",
      "r112"
     ],
     "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 and classified as noncurrent.",
        "label": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r55",
      "r79"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDiluted": {
     "auth_ref": [
      "r75"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income or loss for the period per each share in instances when basic and diluted earnings per share are the same amount and reported as a single line item on the face of the financial statements.  Basic earnings per share is the amount of net income or loss for the period per each share of common stock or unit outstanding during the reporting period.  Diluted earnings per share includes the amount of net income or loss for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Basic and diluted earnings per common share"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDiluted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "auth_ref": [
      "r55",
      "r99",
      "r100"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.",
        "label": "Paycheck Protection Program loan forgiveness"
       }
      }
     },
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r44",
      "r58",
      "r81",
      "r83",
      "r85",
      "r88",
      "r90",
      "r95",
      "r121"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r42",
      "r81",
      "r83",
      "r85",
      "r88",
      "r90",
      "r130",
      "r135",
      "r137",
      "r145"
     ],
     "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 (loss) before provision for income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "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/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r59",
      "r72",
      "r73",
      "r80",
      "r111",
      "r115",
      "r116",
      "r146"
     ],
     "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 (benefit)"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables": {
     "auth_ref": [
      "r54"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount due from customers for the credit sale of goods and services; includes accounts receivable and other types of receivables.",
        "label": "Accounts and other receivables"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsAndOtherReceivables",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableTrade": {
     "auth_ref": [
      "r54"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings": {
     "auth_ref": [
      "r54"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r54"
     ],
     "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": "Inventory"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "auth_ref": [
      "r54"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current assets classified as other.",
        "label": "Other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": {
     "auth_ref": [
      "r54"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r54"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Accrued commissions"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInUnbilledReceivables": {
     "auth_ref": [
      "r54"
     ],
     "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": "Costs and estimated earnings in excess of billings"
       }
      }
     },
     "localname": "IncreaseDecreaseInUnbilledReceivables",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r32"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryGross": {
     "auth_ref": [
      "r35"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r2",
      "r35"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPartsAndComponentsNetOfReserves": {
     "auth_ref": [
      "r35",
      "r97"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r34"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r35",
      "r61",
      "r97"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r33"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r21",
      "r58",
      "r95",
      "r121",
      "r132",
      "r141"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r29",
      "r58",
      "r95",
      "r118",
      "r119",
      "r120",
      "r121"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r52"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r52",
      "r53",
      "r56"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r0",
      "r39",
      "r40",
      "r43",
      "r56",
      "r58",
      "r65",
      "r67",
      "r68",
      "r69",
      "r70",
      "r72",
      "r73",
      "r74",
      "r81",
      "r83",
      "r85",
      "r88",
      "r90",
      "r95",
      "r121",
      "r136",
      "r144"
     ],
     "calculation": {
      "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow",
      "http://taylordevices.com/role/StatementsOfIncome",
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r81",
      "r83",
      "r85",
      "r88",
      "r90"
     ],
     "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 (loss)"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "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/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r37"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherInventoryNoncurrent": {
     "auth_ref": [
      "r36"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r5",
      "r6",
      "r28"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 4.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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r47"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": {
     "auth_ref": [
      "r48",
      "r50",
      "r60"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r49"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r51"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r9",
      "r10",
      "r98",
      "r142"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r18",
      "r102",
      "r108",
      "r140",
      "r150",
      "r151"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r62",
      "r63",
      "r64",
      "r66",
      "r71",
      "r73",
      "r96",
      "r105",
      "r106",
      "r107",
      "r113",
      "r114",
      "r147",
      "r149"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r41",
      "r58",
      "r77",
      "r78",
      "r82",
      "r86",
      "r87",
      "r91",
      "r92",
      "r93",
      "r95",
      "r121",
      "r137"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r8",
      "r22",
      "r23",
      "r24"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r46"
     ],
     "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 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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermBankLoansAndNotesPayable": {
     "auth_ref": [
      "r26",
      "r143"
     ],
     "calculation": {
      "http://taylordevices.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowings from a bank classified as other, maturing within one year or operating cycle, if longer.",
        "label": "Short-term borrowings"
       }
      }
     },
     "localname": "ShortTermBankLoansAndNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermInvestments": {
     "auth_ref": [
      "r11",
      "r133",
      "r134",
      "r138"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r31",
      "r62",
      "r63",
      "r64",
      "r66",
      "r71",
      "r73",
      "r76",
      "r96",
      "r101",
      "r102",
      "r105",
      "r106",
      "r107",
      "r113",
      "r114",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r147",
      "r148",
      "r149"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "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/2020-01-31",
     "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/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r62",
      "r63",
      "r64",
      "r76",
      "r129"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "auth_ref": [
      "r12",
      "r13",
      "r101",
      "r102"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockOptionPlanExpense": {
     "auth_ref": [
      "r55"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r13",
      "r19",
      "r20",
      "r58",
      "r94",
      "r95",
      "r121"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets",
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r30",
      "r103"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r30",
      "r103",
      "r104"
     ],
     "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",
        "periodEndLabel": "Treasury Stock, Value, Ending Balance",
        "periodStartLabel": "Treasury Stock, Value, Beginning Balance"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/BalanceSheets",
      "http://taylordevices.com/role/StatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Average number of shares or units issued and outstanding that are used in calculating basic and diluted earnings per share (EPS).",
        "label": "Weighted Average Number of Shares Outstanding, Basic and Diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfShareOutstandingBasicAndDiluted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://taylordevices.com/role/NotesToCondensedConsolidatedFinancialStatementsDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 3
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=117329964&loc=d3e12355-112629"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=118261985&loc=d3e55302-109406"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(4))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(1)(g))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(c)(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.16)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(c)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r152": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r153": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r154": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r155": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "g"
  },
  "r156": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12, 13, 15d"
  },
  "r157": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r158": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r159": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(c)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12"
  },
  "r161": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r162": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r163": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r164": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r165": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r166": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r167": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r168": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "a",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "04"
  },
  "r169": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "c",
   "Publisher": "SEC",
   "Section": "3",
   "Subparagraph": "4",
   "Subsection": "10"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "d",
   "Publisher": "SEC",
   "Section": "3",
   "Subparagraph": "4",
   "Subsection": "10"
  },
  "r171": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "e",
   "Publisher": "SEC",
   "Section": "3",
   "Subparagraph": "4",
   "Subsection": "10"
  },
  "r172": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "f",
   "Publisher": "SEC",
   "Section": "3",
   "Subparagraph": "4",
   "Subsection": "10"
  },
  "r173": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425"
  },
  "r174": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2"
  },
  "r175": {
   "Name": "Securities Act",
   "Number": "Section",
   "Publisher": "SEC",
   "Section": "12"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(d))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6904-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=117329964&loc=d3e12317-112629"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>27
<FILENAME>0000096536-21-000005-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000096536-21-000005-xbrl.zip
M4$L#!!0    ( %%(>E(A [M8@ <  *@?   ?    8V5O,S R8V5R=&EF:6-A
M=&EO;C(P,C$P,C(X+FAT;=U9;6_BN!;^CL1_L)#NJI5"*72ZVFU9) KIEE6W
M[4)Z-?/1)$[Q;8@9.X%R?_U]CIT42NEL9Y:IYG8JP>#8YSP^YSDO=MH7P9^7
MG6JE?>%W^_AF]*\=#()+O]-NN&\\;12/VV?7_4]L%'RZ]'^KQ2K-3ECS<):Q
M0$Z%85=BP89JRE//#7AL)+2,:UB(I3=?N^Z43;F^D^D).W1_!\<R/669>,CJ
M/)%W>/"?W&0R7A:#,HT$B:[;F;5.^ZSC/TSD6&;LJ+DG]]N-,VSJYI_#V0JB
MUODI'9O9Z4XT6/"EO.^".H2IA(:>\^NK8%UJ/>93F2Q/_LZI -CSA\'@?-#K
M!H/K*X>3I-&C:N7ZG/4N!OXY\S_ZO=M@\&^?79]CLC_\WCLZZ]S<#D>W7>PK
MN&;#VTN?-8\XJ[/FASV^#Q0LN/#9"*B&@V#@CZH5_V/OHGOUN\^ZO8">-W\]
M^N!]?YC=$>OVKV\"O\_6$0,9&90=';8*L-7*J#L\ZU[YH_KUQTO_4XFS=7C8
MVAG,G1+X-7%:A.G "E'99,G^.& C-;M7'JRD:46UDDUX=O)_$K5%FFJ]E*=J
MG>8!&[ )GPNFQ5R*A8A8-I&&?<ZY!BL2;%B+F=(94RD[5WH* /6_F(I9P)>)
MTJR/92'I'J3AP5NA?E,3M0[8&3<P#"PP7;+[5"T2$=T)SUG*F:=:B13TI2IC
M(4!PF3*>+EF>9CH7S&0\$U-PC S'H1RFE3QA,0\QI)F:HB1DRLU[-B$5,+#A
M>DE3IOQ>0/&:3(.Q2'C5"G0"^L0JH1FAU&$^Q;P4ZP$E$IHM)C*<,)/3QTK
M0FCAI-@=3*5)!(]D>L<6,IM@BV8F0HN0Y,Z 3478YQS+(C9>6D.41'F7'#CZ
M @<$BV4*&\-?U<K*J!X(@/EXKE<3F$QC!!'/) 3)-$SR"$+AN#4J>?"Z1.2Q
M&>Q.G"$N)<F*%(4[S%/=Q+M(DF"/7&'R!#/ ! 5W67W& @JYF; X40M3TD2+
M.VDRS:&)TZ ##IC>FK=-B>89W'?I[P\'+'ABFI^T^9RK4^,<6JT4Y8!"1,4Q
M,J"V5ALPKH5U$.PMQXD@.S(!5HP3:28TG:9-D1\H1]#O2)HP42;'.LH<6B7.
M43.M0A%AV+ ]^"42\+0SOO\03GAZ)ZJ5+H)RF">8@GZBWCS>$_MV;?,X<K_<
M3TD%/G44(06,(G>-.<Z1!.8%3>R9HMA*KE8*33$TT4XW^03E5%QV4R_?F",O
M=O>U#G5M?6$P"#O99+K%B]7*4S=ZE.E#GILOK-GT/#+N6, CA2J7PU6N(0!Q
M.9>&PIUFB=3*H>;D,5%015AE&RT2;GU<9/&5F[PB$]%#B:0!,$8E,N*913HV
M,I)<2]J!=,7&)L"4).6&\K\-"F.+A4T.R@@@RI"-L*A:F:&7D&&><,IJV)A%
ML2HD6.+*TEI6(4UC01.1=[!>1&_@UC>CSWB3/ELCM%K9$J+/6/3ZX'XUF4#
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
MG=,$"\%H5W>O=8;S[!V<PLG-P3HG-\8DFMG<Z%'4NB_E%"(\-&>71)IS@$2
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
MS3Y1&LNFDK"')"+Y+6_N#/FS&?@^2FLGWC\MJT>#$<X@1=V95['H,Q<F*.=
M&)+ZQ&B>7S,Z,TY5=1 ^1:.AUE9)ZS$LAT8EUA?#GW[8__'=3Z9_2WNTE G
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
MNT@"0Q>TRZ(]P$)NT[(4\:7V*''[IPO^%_^Y_HG_:\K;-?[+_P%02P,$%
M  @ 44AZ4MA];7K3$@  ,A(! !4   !T87ED+3(P,C$P,C(X7W!R92YX;6SM
M74MSX[@1OJ<J_T%Q+LE!X]>^9G8G6_)KRK4>R[$TNTDN4S )2<A0A!8@;2F_
M/@!(R:1$@$U:4L-3NX>U1VY W=^'5S> QD\_SZ=1YY$*R7C\_N#XS=%!A\8!
M#UD\?G_P:=#M#<ZOKP\Z,B%Q2"(>T_<',3_X^1]__E-'_??37[K=SA6C4?BN
M<\&#[G4\XC]V;LF4ONM\H#$5).'BQ\ZO)$KU)_R*151TSOET%M&$JC]D7_RN
M\^V;[X).MPNH]E<:AUQ\NK]>53M)DMF[P\.GIZ<W,7\D3UQ\D6\"/H75-TA(
MDLI594?SH_R_K/A/$8N_O-/_>R"2=A1:L7PWE^S]0>%KGT[?<#$^/#DZ.C[\
MU\>;03"A4])EL48MH ?+4KJ6JG+';]^^/31_78IN2,X?1+3\CM/#I3JKFM5?
MF4.^H(ED[Z11[X8')#&DUWY-QRJA_]5=BG7U1]WCD^[I\9NY# ^6X!L$!8_H
M/1UU]$]%WNI;$[*(N CI(PNH8>U02QR><]4FE;JF[$30T?L#)1FJKS@Y/CHY
M^4%_P5]+0LEBIMJF9+II'70.7_+E9R32: TFE":R3HE*X2TJH]LGG=(XD?W1
MM>J94UJGD;W$CM0:3(B@$QZ%JC=?_IZR9-%$17OI':E[3N3D*N)/391<+[-%
MU6YY0N60G_,XI+&DH?I%\HB%ZLO#*Q:KQL5(]*Q+G=8MJ\,S:$@>(KIML\J5
M;M&XZ_A1U<_%XH(FA$6U>MOD\?#.%;DE0LW.[+%V.-E2]2Z#9X)*5=;,1S?J
M@U(1.D_4E$_#947:YD;31\(272*?UH\[7;T&2+6RZM=,,M=FJ4_$@Y(*D9XK
M^=I\I#602@4S(TH:O!GSQ\.0,C4SGASI7S2,1]VCXWP^_*OZZ+/YNMZ#3 0)
MDF5]$7F@D?F6STIF3>1P;[HM41FJ>JM5*TNL:U9DL2>"CN9%*-R7=1$1E+C;
M7$[D$H<S-2/$23>8L&A%^TCPJ0VC' ]N4;0(E_J*?6+:4UJ$6I.KB(RK05T3
M :)ZC %KI36XN%Y0&0@VT^C4P%N2!*)\@HIRA6TH8"][TST=,ZVU5F@UX+M'
M"DL1(/RGF&.'TUI4'GIQG)+HGLZXJ(&_+ E$_1M,U*ML0P7[GRD1"171 H+W
MAC 0\F\Q(;=8B(KZ4)!8,HT2!/9-:2#NWZ$N3BPVH@(_F- HT@$Z$H-:?)4\
M$/SO,<&WV^D-_)?:<[Q0$P^<@4(1( D_^$+"AK6H/-Q1P7BHIGT!8&!#&(C]
M6TSL+19Z@/IE'$(Q7XF"O29\R-?,0P7\BLF 1)E>5^HSZ0:]0AP*/(J_6FNF
M!^#_FQ(!AKX@# 4>Q86M,1$%]O-4B))*SG'&+@T%'L5YK3,2!?G+.&')0N_]
MWJ;3A^? ;!GQ32DHTB@.J\TH1(27$8LXT5O;+I37):%(H_BI+N,0T3Y75@D2
M7<<AG?]"%RZX-T2A>*/XIT[S$ &_$VQ*Q&+ @OIA9%,6"CF*5^HV$!'S(9E?
MA\HV-F+9<9%ZZ*U%H R@N*0@<Q&)T <YQ(P7PM'G/%4]=''.0^=07U,02@J*
MK]K =$1J>F&H0)/YCQL6TV,7(97BX/TH/!H<9GH%_DDS\$_@X*/XL+5F>@7^
M:3/P3^'@H_BQM6;B@W^N?NV+(7^R['];A:' H_BQ-2;BPV[FH;ZX$_R192=K
MZ[#?* $E -&]=1N+ST*^$("T_*4D%'5$5[?:.'RT[[A,2/0?-JM;<U;+0Y%'
M='I=AN($+;,VH(,?M@-.:R)0E%'\W$IS<(#5; M*[$VY+ &%%<5YK3(&!=4;
MKO=9)CQV1GHWI:#HHGBA-J-P!F1]&EI:!X/"G\%G[%"&VW4S4,#\3;!$Z7'.
MI],TSB,^EGTXBR@49!37T6D>"N #'K& )2P>?U0K2L%(5(UVE1P4:A1'T6X8
M"LYW@FK6J5JLFY-F^@*%Z(]&MA'9)0_%'<5/K#?4!_ROI4RI:,I"12DH%R@N
M(]1HG)&'!JD:#A?')P]#?1_(,NYL2$$11W$7;4:A('S+AX+H>^.#Q?2!1_8+
M+Y6"4)Q1G$.':2A0E[2I!GE-! HOBE=8:0[J*'$Y#R8D'E/[.8IJ22C,*%ZB
MRSCD,7D,&I/'#<=D%&_19A0JPMD)=]7'^@\1&Q/[;3EG ?#](4S<':;BW%0T
M%YITQA$Q-=I<J5^JP;>(0F''N1+J,@\'\#1D"0TSQ1P9#]:PKRT%I0'GSBC0
M:,1-A-]H%/T2\Z=X0(GD,0TS!\&UCV M N4"<>^RQEQ$(G[E4:JP$N;PJK#T
M!XLH%'C$/4N+>9@G1;-#V:N9*4LYY<+=5@(*/^+FI=M8U!-T"=6:LT=Z01*2
MZ^EBP58"R@+B1J;;6.1; .)<34MC[MZW7Q.$8HYX?+?2-$2H!U,216>I9#&5
MSM%F31 *->(YW4K3$*&^G%(Q5H/=!\&?DDE^H]4%N:4 %'K$T[A.4S$IF#_?
MI\]N^CGQKY &YVI !-]J)&Y"DB#0!SNRV3X.B;!@[Y*'HH]ZD=1N* K^_61"
M17&E952Z5CZ?Z_A%?2DH%RBN+M1HS)FWD-? .?&6Y*"H(SJU589AW@A+'R(6
M7$6<.-?Q)3$HRH@>;(59B""?D?B+2&=)L+@3/*!4;]7(5?\#N%' "J#$(/JV
MC:# ##CPZ51?E>+!%Y-=5_;3Q&3P5EHZPP[.<E"","^M @Q'72G)Y\ML-#Q;
MW-,1%?K Q)#.DS/U=5_<"R= <2A+J-F7P#!4D/73X89=-^J#W2:4K<[R74HL
M>]+I=E8!=Y-9-D^8VREFS.WD-77RJMJVP&4#'!'Y8(A*97=,R"QKA31*Y/*3
M]>:8?_QYI6M_M-HPN..9;^'(4)L7AY5NW<%>;EY/2H5OO2'K<EA9;1OA6NY8
M%DNV-]QMBXU\AH22LB&.EAO7C7 5#193_6!#9[/OQ:'^H3/N/Y)(C\F]Y)P(
ML5!3I7D+P\X.L#A:CET0$;R-23Z1.)BH9>>0BJE.,2\3V][V<ERIE$;+P]N"
M(I>]?C"21X>D:DAYD"*@JBGIEPAN:6+WE)9@P(JC9?%MP5DC1/P@<?5@PQT1
M1G$=[N"Q;FU*Y?[H7J$M'JFCJ\%K0,L.W(+*IKCXP>8YE]K9N)RKU;SLC\Y8
M%&F?O1]_T@_CF%>H](,6QG!I;CB/!9DZR&U=(5I&XC:SX<M0\X-Z,^"4K+:S
M6B6+EL6X!6%V6_W@ DA#.P:VOP_=>KE?@;I2>D35'\.;S%RK:D:OA"<D,I+X
M?6<UXM_R. #UH,H2:,F0F[!89[ ?W4@-M#,JDL5=1/1+":%V569Z(:QF8#LU
M[E)XF9.;\ .QW ^."D/Q1R8#&BF-*4\EN!/5E,5+N-RX/X%0\(.UBWR0'I)Y
MIO4-(P\L8@DSG@J$O 95X.5N;L)A8TS\H#+3M6Z1@9G'N?GRXFM95Q1:D!K$
MS3Y=Z>7/^L@PO :\[-$O#^4WQ<F/GE?0&ASI=Y7!RTK=E@8KBUYO!ZPBJ_I\
MPPTGL;;6//MY1Q8Z6 <(*]N+XN6ZAM-@B337X>$'?<L@:ZX<.,Z\+H^7(;LM
M46[+O6%'I#0<D$A9Q:=3)G7:(PA)KF)XN;1?P%4]#GY09IR730-K_+:J GC9
MM=O25&.['P0M ]+/(6H=L:ZEJ:887@[NMF2!</"#LB;=Z04]:0<YNG>U%OQ:
M?+HV7MP6_+8=) 3?#M.OQ5OKA:%Q19532EAX'9^3&5,-JG"$UK$Z 93%RR\.
M)X(WMLHG!N]I0EA,PTLB8CT-J"56.DTC?<ST@HYT/D([@Y"R> G*VS((1\0/
M!C<-/*,C+NA04")3L:CIAL#B>"G/V_+8")?7/H&6C*HY>EDEBY=7O2V]=HN;
M<_DVXS*F8]W+\=G<!*-)_\7,W[Z]SOJU],RZE6#[;0K,A/)M>8:BL57646[[
M/.?-ZH_T3:5"GL32E9]3V)6?Y^HZ?-3)*\0\X:H56"E5[ZU9"Z"N?1]IG+J.
MX3Y+(%_IJ<%[8PE;-LR/A:J.*_5''S@/3=^GPO28 7\VN_JHK*T,]DV>9IS4
M6^\'2Q\$E_).\)'+\RL)8=_1:<9#A7VO?8DQH":$^X'&5)!(M:Y>.&6Q>>E8
M)^^ZG,_TA.)80@++8]_T:49T,U3\Z'S]&=7:Q>/,U!M>F71KN<U2)8Q]LZ<9
M1PY[7WNG-)M@MSSF91-K.V-=.>S[/@T)!J'@1^=[;H-7RFA]-X7%J4X"G>FN
M5N-9 "F3&Y(YE9=S9;Q"G,5$+'3Z(',X5=]JX6;P,2D4J:Q=%^_H2['O"S5K
M*WO _[4/*BO3\PYTIB8WYT+-6@#[9E*;IF&UVX_QXY8FD&E[30S[@E(S(BIM
M?.V]:KG3<T>%R?AS1B0+U(+Q@D5I0AW>:6U!['M+S<@%XN!+/IUBA,WH6QU)
M+$7;OFD3;2M6WLEK]R+G3KMC$Z#BJ+L?N8;#FG/#:W)UG6VC]>XH)-Z GHU=
MD+)%Q7MS/A"BNBTUJRP *059SX@I-2L; P7UBV?V?& A:TK/J1-Z<P8AI+K8
M:^2FVI)"N!<UR+TZZ/.16O+GKB+"&Z+8(6U0&]L(;%LL]F-5;CF054=.33'L
MF'<;HD!(^$':^AFL.K9L\M@1ZS8TN6WW@Y_2X9LZ<BJ%L>/4;9AQ6.T'+7LZ
M-[3[Z6=CH;G[XT(S\Q2"TD D^!$)8Y]Y["N\2(4:!;*'&LPQM\OI+.(+2HW,
M72J""9%4Y[2HX;IY==Y,<J#FT!8NC[INC0EYU//E7)<J\F:.W ;+%1!YQ&_K
MH?GSB4<S9O/!6:N_E>'Y,O;@=&XO_&^:YPX=<LNB>AD_I2;%(8VEH<D@TY^9
MO:Q[JJ"1+*'Y4:"L,=_3@(]C9GE<=[60WY,"V'O-X":W9TK\&%)VNM^TPX/^
M0$[KMII\<7]V=]MBA\?S@1QL\Y*%C^OLEQ'98%;>X0G\UE1^7;/R"Q=8I_B;
MM2]98)WZO#FK,^)?1?RI>DOVVS9;LKK*CJG3@PV99PL!;X6X2^$N)[1"=X(_
MLE"_J/-)<7 =KXYH]O1+P%GR@8JC6?6&;ZM^?QY7L;*^N9+9(K)^+(%VNOC<
M68!QRTSL\FS4(Q4/7%+\B;7@6^G#E0H^,S<-N7:,XH!%M&3XD ,1!KS@L_-O
MQHYP[K0][HLX/P:D"ZK("YA!1OT>4<-A'/:F^F7%_Q%W2 56&CM4NM/FT@1
M/R@OQ&YTP+?^GI-%'CNRNE-:W2#Y0>0'PF*IQR J^TI#;7/*Y"1;95W0!]=-
MQ/JBV%',G=(+ALX/IM5TH^,0]()F/PLPY&%:T%5R<!W8T<Z=<M\<3%\;@>.-
MKR;MP%D-=M!USTT! *FOK6'YA@IKQGZI&'9<=L]L5T#F*[N?X@<6131LV<<K
MBV.';O?,M@-"7UDW8] R(VW-ZQJPTNB/#NU[;K<BZ"OG:ZG5AX*$#N\,6A[]
M\2*DB;P*15^9-VUU!4@AZ5?C3E]="?KC1QA]WX6GUPTA'[1>T@RJJD!_? EQ
M GA%32!/,%_.+]\?+:\W-&D*M56AO]>TYR8!Q-:/I@''9AN;R!X\_;3KW<:&
M:+[V- W/YSJ7&^^7478B1'N_LOGN8JOJT)^B:G$ X47(^3%XJ-7O\GAO\'O*
M!+6^YFIGO$D=Z ]9M:"Y.4:O/U7VTN8KKI^0#R@-3?:HU5O,$CJS-*X(_?FL
M%[20AFB]_F9BF2T;M9 F=: _VK6]8VI;;1>O9461/[:ZK16%LSKT-\.VNJ(
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
M).%:0Q!9"(A?/?1E?.@2:J;%L]MWU?5>_,!Z[\H62#P:44#<U31'LD&1X.]
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
M:Y>RJM3T([FOPIF+9C%#IW,^4M[.ZC]OGG)W6K_Y>/E;MY[)_WLJPQ92"NT
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
M:UT>**#G*S$E#MT8X7$MV!KC"J+[Q# YNTO@?Q/4OAZ\TK4X AM(X4Y(RQS
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
MTZ^/APU=Z6R)/'5D6(XP12P;)AY]#8E3_PE%=O+8!FT??0YQR/AI"E]A-T8
MF\0L6^6RO"044A"+;:TB!#,^AU<FQ15NM]:[,@FP-: P>30P38#Q"E7.&9I)
M^?) ZK;^7#:DI!L9IO^D@^+:;%2.S>'U0M<"HV48GMB0W3(G"7RIM#CWQ@NW
M6L:R7!%>]PI\7EJA@,WRT%4.9>"ZE(>(V4U35IS;W_)0-SK9X]J)N2VBF&?:
MZK/!I&BUM&7$SP:;NF<IY/AL<07;R*O&J[ +%J$-2RCP0GDCD#7?)D^AVKO>
M.1O=@##<*DA9L?4E^ULI*]LG=,&RF@.:I:+74RT+O5E>+XJM=(8',4;,3G8%
MX):-X%?2=<;5A.2P*[8.E,TX>_ N)9>+!-.F AY'<%8*K3Q.@5FE<V]EA:%8
MD_);(H2-JXV^^^G7BV-KZ8XQPMB,35'(Y7AAE4WQH@2R.!<M#B03^$(AD@O&
M.4!V,A?(#IE]NZ97J<G[HH.F\8M.U3&&,T"[.NEWOW?L:NTX]^S2V5CJR)4!
MSQGVA+&_/>=:8.V-E,24N<$[+0%5'I9FU$WIO1C+F%_L7?BJ"SY$T?"*VL0*
M7!*=LBWR64#TO+CX%(XV#^X(ZP]72AF (-^\>9+*)X-&[5?N[Q<2I]@:43:
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
M38.(H6]WPBP*\SU9(8Z#,$KGZ)N.U&H&XOW(R9>)2=YR&+IO2ZCZ:&JA29B
M+NPL]I+/1=DY<UA?G#6 0\WI!>E0@!7-'@8X[W*LZ*0E:TY6(6^WX8,^^6#0
MQS(@759E='+*WKYIR=8XJ8YDRI8#>AO%WL^-)&?N03R7+;_#)?)$$IF)PJ;B
M.$&/S8C#"Y,/.Y2/-@,\!WNU(+Z;? 0/;:YOJ+I-9PZ>#45MV8VD+PCO:"J!
M)<B=&MH,:G-"&&HW ,V7+MLY",<XQ![V&2MS.KDU;!7! 703&+)F@%QOTK5'
MEOV#&@ (3_Z7J33V@("M(&@A&,P !OJXE]IA3!,:,:474-U!CD0Y"\_E#RP@
M*B $VDVHP&3/_L#L@\HQH3[I!&CU=EQ+U32 ,"#G5L8<&0Q2*#1.8"C%AA%<
M MCJ]$7_2NL@[X].!H]%F"2-,B <"2CV2\(^:YW6MIYND^E12!^,V261IV^*
M^\B4SCB]\V&,C+&WF9K'!NK*]!K(SZH&0KU'C3<-8^_.HS&0FN!F FC<!'O7
M8/#]/DAF>)Z/\\#H@,4#EZV,%XFA8HY[Y"99\QT-;"Y0"6IA)@F:U&,$C2RY
MBT_%[@2KRUWB!E(SK<% G9,US<X(=X_Y#W5/6''6PR23)PN.!U &U[>R5+(0
M3_Q1#,*4+:K5^30=;R[<&=!94'B?Z)-R'9(,8A-L2VU$H#)P[ A %6PY;'A\
M=#S;69YRQLZV\:'JCNKD;D8WA<@T><[)SG.MP4@1T]2>RB:+=\Y%+(*E6I9S
MLK)&@0;#6=TY2[N;F@CGF0C+$9H(F2!3HQ%[6VT;G-'#].@[<D_5AGN+)OEX
M8-) H,!@^]D2V"0"4EGF/Q(OE MX>8<[U"U83H,D$1 [ Y3#X6D":@,U>K&?
M<>I!*D +#$W@M-O8Y3H$C89HR0%6U-D!;OF.:8!9%8-,VV@64YC5QLU%8;B
M:1JZ?*^: XNKJ* 47!%-)1TF55=A3X(VV(9I@!T+Q]?;-^^/*E?5!H9'V3Z5
MSI?+J=*'3D!P=80.? ZZHH@([U9 E#AV.(O.Z30TCL8N SC+.A,.\-'_8/58
M"6?.-Q&-PXHS./P-9*-VE[3OT,)D$W9O0Z4NN>>-& > =+&CV?L55[.GVJX!
MBO7=DU$#PH6Y!9)T/&;:L.L!L> 4@1E!T&9Z"7';\^6KH6%@@(<J6O<P[AOU
MMI:LW[$^7/+Q41FGC2XX/.*<HJY"Z/1.GT=K'&8!H4(&D] P2PUI370O:Y;!
M_1W Q-&^*6<%<8O'(,K L1FC2D(C=_Q915QMR+%A0[?_*61S;"G<=#E5$,.,
M(<$;!IJ !X@_ I17[2"VJU08O8[(Z'X^NPV5'M@$-LH 8ZDYPIXT+7J*W!'2
M=S\B],RDNIL\!.44A KBK!U-MN8>4J@.XY#](V>'NKNQ4:1VU#32Z5"!PC,]
M>ML&%F%@4^O8Z*2:N$_SYVH42S=/\L\S^["I#O7/XLHQ3<]^Q^)\J&)&-V@W
M(^Q*0?&%:?=I]VGWKZ[[^:F?2UM]CU).[U%"I'Y>*Q'O>L+_[(S$Y\<5+_5P
MS28]3MH%)5V'<: \]#^+QB /J)Y*Q=L*J-9#D)&H:7*4/@"3%:O>%?#5*,7%
MA6<_CC!),8S G9[9;2Z?N=DW-?YMI*"B0L>PQP1KD+T)EDX;T +PH.!XF9@]
M%3&N?,PQZ( H=%Z:H$_9Q%5K\(;H#/YR;M"O<&_V4"6@\K58+N?=JR^\(/OO
M/]G<OB5W,.&#V3),^CL3L T3+VHRFF%0P7(\:>XHCR^5I8&G& /RK,497,CN
MIWQLR"W%A3RCCEH4-8L\L,2%3O^8C9BY3L!KU<>NVO+4']<ZA;8RFFT7FX5W
M; .S!&M<1Z;702A*TQ[F#)U1T/!EBW5R ZM,O1TI*:TA=9EP4L=B<L2W;T!(
M!W686JA 2Z)M@4[F#(O^^:""A._[G26T]7_20I7VGEC^SQP#H?\CS.Z,:1CI
M+V_?T+_ZFJR//>2:X<?:<F^HQA\$M67B02\SJ?]#T!YPUL:ZQ<.A+5NV_SD9
MWFRK_8!^+% S? O-GK;P4_8A+B&<"P.;S&%1RF@\3C).-N]I23)W.Y!-Z)S0
M$Z(SH%DH?7<,3(_S)455]7M# W45><0P@4M,U;IC5NV![FC/N.>8UJ\"*Z"-
M *\;VDSS;-.>V!5/6\8:P'B?#$\-:$Y7+ZN/HG;P&M*UG6I#SK,*>-90]W'8
MNZ"OMYBQGK*3?W=>(85LJXV12+OW+)R@_.+=*UIL<%1$<=-[TSK%?3Q-N=9
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
M3 DA/#1&?6#?(1X71@7&)TTSAVK;P.(4B8^4C:\H+1^10*YJN93 Q<2<JJ2
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
M'7]M%PV/FHG G8*&"]!PIUY+'_F^ DVZ;?3;JT\<WY8EW<:C%=.J;Q5?F:C
M/PIOX15?3=CI,AZ*QS8;.F_VDW-?3*'<^I1/[DEY6&FET^(%*5.XT_:;J91Y
M>EHNKLXW1L:E@\S3>>721IT_J3&>HO[TNN+PYC^XR:C 8C2K'4UVC)!1:R,H
M=DK1&RH'L<Z'Y.P\>N,REYMBM.*08265#LCN>7^RJO46N&8.'UOB*EO2D:W1
MK'!?R? LB]'D93234<YSZB_MY[O^TD%1?VGE]9?6'P$X&D#9[V#(*85D4M$2
M"M4+[(9R*5YS*!Z&S5U7>!6&]UF5H/+!1.F?884<W!1JJ0L,G<5B-SW[@?5]
MK<<T[O9&HE0?#-.D\A6>3Q&^P"$895\N4>44!W_Q113'BJUR3U!-&RK7,6GM
ML*YQZSOPCN$*5]9.,<-*(_B.C)GV'FSUI#M:UT5#:\N"/<48J$(0,GA*EX.G
MC@;0XX/A]528L+!<'\VO9FWOL(8F6NXC1L?+,NQU>=\PAZ_G%69H)W 1!?R'
M85 )2 (9[@MT-GT=&G_9D#>2@>4;Q"U3'#&>:[VN;T8K'T2DMH/GZ._ZF]UJ
MN?1Y"HMTN"E#Z&DL\< ^&FP8KQ0,B@*HPP[H&35(&9QL33'5L?!56BL]G,C9
MS:=@"BQB/I*'PQ9QUWB)>.3LUGYBI<<J;DY4 @/'"4T3F(5U?4M6'8(AUZN[
MQ,4A.D..&*D].ANV@]^);[P_D,'46!HJ>EA6I'&Q[(\CP@)7H#X-*G'5&;)C
M*1R[,K1[O-LDFJ@B0L%ZN3TA/*4!/J<:LI)0$%4'QO 5:./)A9I:!\AES=8/
M,1R+:J%K^X[78V,MQ,ML?9X_&8D;0BA,\@B"UF$0C?WX(")"*8K$VA@?@ZZB
M/8.11V.RRJ7IYT@#9:&[!SH^0#!,;RAA<AJGX'E/<1EB)8( 5&)=$SD#!UDN
MX=A)%T.7:L8(#QJ-\\>28P@*H9!]TR34!R$RO)D2O8%29)M0P+"]639&R_..
M?2_DIAM'W:B-42(\;BW$G>!.%0/OR$)6+E7V$T#;OWK"$@AF&]BN:X2;>T!N
M2]S:G@&"Y4I@D$)]0).2.Q!V@1@76A!2R2.O(WP".L*"@Y8>+EA8_2S 4U2P
M9)4L+X=*4,);2'Y[QH"^K[(_+!!CS[<(#E9A+IH-L0);5-RVZ\G"8^%D).^\
M#*-90-THAB#>19TGF29122+O[S?&Y6T,O*8:5!BC2#:D(0(+XYN$P;%LI\]-
M,&"01DI$KQS[B^1F54ML$.*!R(Z(ZB\J&R4@F(M;E*S;AMR@!)$L&BKAJ!8E
M470(=(4-)]15FRTFK-4,07C$>:/[Y9C^(<D>56 5]A'8%O?$<JE9JZCJ>8@.
MDNPHIXEET:*)JKE-T8C3D)4T<4<@M@R+ZY$YV1%!-]R5&C>D_P"+["%L,-B$
M'9TF1HM &P70&C0B$% 6EE.CNN? #'Y,#/*C2CY'^Z<[*0V.H,J2:"SK!$V3
M>QT*.-4LA=]L"P7S];0Q+H+B71\RY]D7TDH/=ED*C[/Q$4VB;38"6SE(+/$R
M+;03X6WCE%(-M=91/*?>2"Y TZC4:XW55D#:\/@/ZXF1FJG'O]F<C"-<, EM
M7+>CLKF?J93?!\L,)PLIG6?':<9,LM!*65XM+J$*5YSVM#X-B?9L$K\"!6J/
MJ9SP= HG371:$M @9WD@IZ(1<I(/=&5DF )<6(H,3Z9IIT0SA(<QF<6%SF/K
MWJ(FL[L_U6997VZ?G)%&*7,GSG'G%5X(Q9U7,6='N33B (C<5PD.+N7C46 "
MMJB#1[<?+%;?_R'R2KU4,?61LVBF<S6/)_X)ZG1-7_-\\O-)UP9>4/0%M&E9
MPB''?.#+I^_1R45NMY'[-J:N*K0POT>47TC$$HA$ZQFL>45=;3#=<&'IR>M
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
M"DNCT]<0 ^$QU0\]U.=#&=\.6E1FP"*)<=1R=P2EPV NC-V HP*W@-'5^Y0
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
MQOM_OC7.SP?[5P_B2ZW7_?/2Y%^]NY,_?_M;>__KU[]^>_]G\Z+VJ??W\//
ML3MW[M'%]>#]IXM_'\[M5\.3WWXY^=_K!FCS5[W>Q:5[L]\US\3-KZ;X\N_Q
M]X\?__G:?_?Y']$8?K_X\K^-5^YI<S#X]?WMSS]+DOP_4$L! A0#%     @
M44AZ4B$#NUB !P  J!\  !\              ( !     &-E;S,P,F-E<G1I
M9FEC871I;VXR,#(Q,#(R."YH=&U02P$"% ,4    " !12'I2T2-.R$@$  #M
M$P  'P              @ &]!P  8V5O.3 V8V5R=&EF:6-A=&EO;C(P,C$P
M,C(X+FAT;5!+ 0(4 Q0    ( %%(>E(S%/(F>P<  !4?   ?
M  "  4(,  !C9F\S,#)C97)T:69I8V%T:6]N,C R,3 R,C@N:'1M4$L! A0#
M%     @ 44AZ4@&*W@91!   UA,  !\              ( !^A,  &-F;SDP
M-F-E<G1I9FEC871I;VXR,#(Q,#(R."YH=&U02P$"% ,4    " !12'I2V9=U
M[7H$  "%&P  $0              @ &(&   =&%Y9"TR,#(Q,#(R."YX<V10
M2P$"% ,4    " !12'I2*[E>V8,'  #03@  %0              @ $Q'0
M=&%Y9"TR,#(Q,#(R.%]C86PN>&UL4$L! A0#%     @ 44AZ4L>K2C^-!0
MXBP  !4              ( !YR0  '1A>60M,C R,3 R,CA?9&5F+GAM;%!+
M 0(4 Q0    ( %%(>E*^HC37!!T  .>) 0 5              "  :<J  !T
M87ED+3(P,C$P,C(X7VQA8BYX;6Q02P$"% ,4    " !12'I2V'UM>M,2   R
M$@$ %0              @ '>1P  =&%Y9"TR,#(Q,#(R.%]P<F4N>&UL4$L!
M A0#%     @ 44AZ4H^&BT1/D0  KL0& !               ( !Y%H  '1D
D:3$P<69Y,C%Q,RYH=&U02P4&      H "@"] @  8>P

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